0
Я хочу добавить данные из файла CSV в столбец таблицы в SQL Server. Мой код работает, но данные не доходят до столбца.Добавить данные из CSV в столбец таблицы SQL Server
private void btCode_Click(object sender, RoutedEventArgs e)
{
//string constring = "Data Source=.;Initial Catalog=*******;Integrated Security=True";
string filepath = "C:\\code.csv";
StreamReader sr = new StreamReader(filepath);
string line = sr.ReadLine();
string[] value = line.Split(',');
DataTable dt = new DataTable();
DataRow row;
foreach (string Code in value)
{
dt.Columns.Add(new DataColumn(Code));
}
в то время как:
while (!sr.EndOfStream)
{
value = sr.ReadLine().Split(',');
if(value.Length == dt.Columns.Count)
{
row = dt.NewRow();
row.ItemArray = value;
dt.Rows.Add(row);
}
}
SqlBulkCopy bc = new SqlBulkCopy(sc.ConnectionString, SqlBulkCopyOptions.TableLock);
bc.DestinationTableName = "CodesTable";
bc.BatchSize = dt.Rows.Count;
sc.Open();
bc.WriteToServer(dt);
bc.Close();
sc.Close();
Сколько строк в вашем файле? Я полагаю, вы определили, что массовая копия, если не удается? (Вы прочитали свой файл, и ваша таблица данных в порядке?) – bhs
2 строки в файле csv. – user2631662
Если у вас есть> = 2 строки в csv-файле, почему вы вызываете sr.ReadLine() только один раз в btCode_Click? –