У меня есть. CSV-файл, который я загружаю через элемент управления FileUpload
, и я хочу передать все данные из этого CSV-файла в базу данных SQL Server стол, но у меня есть некоторые проблемы в моем коде:Импорт данных из .csv в SQL Server с использованием загрузки файлов в Asp.net C#
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', который не был указан.
Thnk you Michael. Можете ли вы, пожалуйста, помочь мне еще одну вещь в следующих двух строках: string [] fields = csvParser.ReadFields(); tblReadCSV.Rows.Add (fields.Equals («Email»)); поля содержат список заголовков файлов csv, теперь я просто хочу только поле электронной почты, как я могу достичь thi, выше строки для этого не работает ... – user3071613
@ user3071613, комментарии здесь не будут правильным. Просто задайте другой вопрос другим вопросом. –
ok michael Я добавил это как еще один вопрос, любезно ответьте на этот вопрос – user3071613