CSV数据保存C#MySql [英] CSV Data Save C# MySql

查看:53
本文介绍了CSV数据保存C#MySql的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

数据库表列和xls文件列中的

是相同的,但是它们给出了错误.Column''From_SLA_Non_Compliance_Report_Months_Parameter''不属于表。请为我提供解决方案。

 使用系统; 
使用 System.Collections.Generic;
使用 System.Linq;
使用 System.Web;
使用 System.Web.UI;
使用 System.Web.UI.WebControls;
使用 System.Data;
使用 MySql.Data.MySqlClient;
使用 System.IO;
命名空间 WebApplication1.admin
{
public partial class WebForm2:System.Web.UI.Page
{
protected void Page_Load( object sender,EventArgs e)
{

}
MySqlConnection con = new MySqlConnection( < span class =code-string> Server = Localhost; DataBase = password1; user = root; password = nectar);
protected void btn_save( object sender,EventArgs e)
{
string file = FileUpload1.PostedFile.FileName;
file = Path.GetFileName(file);
string filepath = Server.MapPath( 档案)+档案;
FileUpload1.SaveAs(filepath);
StreamReader sr = new StreamReader(filepath);
string line = sr.ReadLine();
string [] value = line.Split(' ;');
DataTable dt = new DataTable();
DataRow行;
foreach 字符串 dc value
{
dt.Columns.Add( new DataColumn(dc ));
}
while (!sr.EndOfStream)
{
value = sr.ReadLine()。分割(' ;');
if value .Length == dt.Columns.Count)
{
row = dt.NewRow();
row.ItemArray = value ;
dt.Rows.Add(row);
}
}

string sql = 插入new_table(From_SLA_Non_Compliance_Report_Months_Parameter,Target,Unit,OM,Finance,InbndMRO,InbndRM,Maximo,Payroll,HILAllied,Hardware,Network,Software,DBA,OPM)值(@ From_SLA_Non_Compliance_Report_Months_Parameter,@目标,@单位,@ OM,@金融,@ InbndMRO,@ InbndRM,@马克西莫,@工资,@ HILAllied,@硬件,@网络,@软件,@ DBA,@ OPM);

foreach (DataRow r in dt.Rows)
{
con.Open();
MySqlCommand cmd = con.CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue( @ From_SLA_Non_Compliance_Report_Months_Parameter,r [ From_SLA_Non_Compliance_Report_Months_Parameter]);
cmd.Parameters.AddWithValue( @ Target,r [ Target]);
cmd.Parameters.AddWithValue( @ Unit,r [ Unit]);
cmd.Parameters.AddWithValue( @ OM,r [ OM]);
cmd.Parameters.AddWithValue( @ Finance,r [ Finance]);
cmd.Parameters.AddWithValue( @ InbndMRO,r [ InbndMRO]);
cmd.Parameters.AddWithValue( @ InbndRM,r [ InbndRM]);
cmd.Parameters.AddWithValue( @ Maximo,r [ Maximo]);
cmd.Parameters.AddWithValue( @ Payroll,r [ 工资单]);
cmd.Parameters.AddWithValue( @ HILAllied,r [ HILAllied]);
cmd.Parameters.AddWithValue( @ Hardware,r [ 硬件]);
cmd.Parameters.AddWithValue( @ Network,r [ 网络]);
cmd.Parameters.AddWithValue( @ Software,r [ 软件]);
cmd.Parameters.AddWithValue( @ DBA,r [ DBA]);
cmd.Parameters.AddWithValue( @ OPM,r [ OPM]);
cmd.ExecuteNonQuery();
}

con.Close();
}
}
}

解决方案

检查你的餐桌定义。

要么在表中或在C#代码中将其命名为错误,但是它表示 From_SLA_Non_Compliance_Report_Months_Parameter 不是表中的列。 (你可能已经用合规或者其他东西换掉了元音 - 我这么做了所有的时间......)



如果它不是一个专栏,你不能插入它。 Simples!

in both database table column and xls file column are same but they give error .Column ''From_SLA_Non_Compliance_Report_Months_Parameter'' does not belong to table .please provide me solution.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using MySql.Data.MySqlClient;
using System.IO;
namespace WebApplication1.admin
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        MySqlConnection con = new MySqlConnection("Server=Localhost;DataBase=password1;user=root;password=nectar");
        protected void btn_save(object sender, EventArgs e)
        {
            string file = FileUpload1.PostedFile.FileName;
            file = Path.GetFileName(file);
            string filepath = Server.MapPath("file") + file;
            FileUpload1.SaveAs(filepath);
            StreamReader sr = new StreamReader(filepath);
            string line = sr.ReadLine();
            string[] value = line.Split(';');
            DataTable dt = new DataTable();
            DataRow row;
            foreach (string dc in value)
            {
                dt.Columns.Add(new DataColumn(dc));
            }
            while (!sr.EndOfStream)
            {
                value = sr.ReadLine().Split(';');
                if (value.Length == dt.Columns.Count)
                {
                    row = dt.NewRow();
                    row.ItemArray = value;
                    dt.Rows.Add(row);
                }
            }

            string sql = "Insert into new_table(From_SLA_Non_Compliance_Report_Months_Parameter,Target,Unit,OM,Finance,InbndMRO,InbndRM,Maximo,Payroll,HILAllied,Hardware,Network,Software,DBA,OPM) values(@From_SLA_Non_Compliance_Report_Months_Parameter,@Target,@Unit,@OM,@Finance,@InbndMRO,@InbndRM,@Maximo,@Payroll,@HILAllied,@Hardware,@Network,@Software,@DBA,@OPM)";
            
            foreach (DataRow r in dt.Rows)
            {
                con.Open();
                MySqlCommand cmd = con.CreateCommand();
                cmd.CommandText = sql;
                cmd.Parameters.AddWithValue("@From_SLA_Non_Compliance_Report_Months_Parameter", r["From_SLA_Non_Compliance_Report_Months_Parameter"]);
                cmd.Parameters.AddWithValue("@Target", r["Target"]);
                cmd.Parameters.AddWithValue("@Unit", r["Unit"]);
                cmd.Parameters.AddWithValue("@OM", r["OM"]);
                cmd.Parameters.AddWithValue("@Finance", r["Finance"]);
                cmd.Parameters.AddWithValue("@InbndMRO", r["InbndMRO"]);
                cmd.Parameters.AddWithValue("@InbndRM", r["InbndRM"]);
                cmd.Parameters.AddWithValue("@Maximo", r["Maximo"]);
                cmd.Parameters.AddWithValue("@Payroll", r["Payroll"]);
                cmd.Parameters.AddWithValue("@HILAllied", r["HILAllied"]);
                cmd.Parameters.AddWithValue("@Hardware", r["Hardware"]);
                cmd.Parameters.AddWithValue("@Network", r["Network"]);
                cmd.Parameters.AddWithValue("@Software", r["Software"]);
                cmd.Parameters.AddWithValue("@DBA", r["DBA"]);
                cmd.Parameters.AddWithValue("@OPM", r["OPM"]);
                cmd.ExecuteNonQuery();
            }

            con.Close();
        }
    }
}

解决方案

Check your table definition.
Either you named it wrong in your table, or in your C# code, but it is saying that From_SLA_Non_Compliance_Report_Months_Parameter is not a column in your table. (You may have swapped the vowels in "Compliance" or something - I do it all the damn time...)

If it''s not a column, you can''t insert into it. Simples!


这篇关于CSV数据保存C#MySql的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆