簡體   English   中英

使用Asp.net C#中的文件上傳功能將數據從.csv導入SQL Server

[英]Import Data from .csv to SQL Server using File Upload in Asp.net C#

我有一個.csv文件,可以通過FileUpload控件上傳該文件。我想將整個數據從該csv文件傳輸到SQL Server數據庫表中,但是我的代碼存在一些問題:

 DataTable tblReadCSV = new DataTable();
    tblReadCSV.Columns.Add("EmailId");
    string path = System.IO.Path.GetFileName(fupEmails.PostedFile.FileName);
    fupEmails.PostedFile.SaveAs(Server.MapPath("~/Contacts/" + path));
    path = Server.MapPath("~/Contacts/" + path);
    TextFieldParser csvParser = new TextFieldParser(path);
    csvParser.Delimiters = new string[] { "," };
    csvParser.TrimWhiteSpace = true;
    //csvParser.ReadLine();
    while (!csvParser.EndOfData)
    {
        string[] fields = csvParser.ReadFields();
        tblReadCSV.Rows.Add(fields.Equals("Email"));
    }
    string connection = @"Data Source=ANURAG-PC; Initial Catalog=MailServer; Persist Security Info=True; User ID=sa; Password=anurag";
    string strSql = "Insert into EmailData(EmailId) Values(@Email)";
    SqlConnection con=new SqlConnection(connection);
    SqlCommand cmd=new SqlCommand();
    cmd.CommandType=CommandType.Text;
    cmd.CommandText=strSql;
    cmd.Connection=con;
    cmd.Parameters.Add("@Email",SqlDbType.NVarChar,250,"Email");
    SqlDataAdapter daAdapter=new SqlDataAdapter();
    daAdapter.InsertCommand=cmd;
    int result=daAdapter.Update(tblReadCSV);
    lblError.Text="Send Successfully";

我在倒數第二行出現錯誤

int result = daAdapter.Update(tblReadCSV);

錯誤是

參數化查詢'(@Email nvarchar(250))插入到EmailData(EmailId)值(@Ema)中需要未提供的參數'@Email'。

cmd.Parameters.Add("@Email",SqlDbType.NVarChar,250,"EmailId");

您添加到DataTable中的列的名稱為EmailId ,而不是Email

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM