繁体   English   中英

将数据从CSV添加到SQL Server表列

[英]Add data from CSV to a SQL Server table column

我想将数据从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();

是,您不尝试使用OleDbConnection直接读取CSV,然后使用OleDbDataAdapter将其加载到数据表中。

其次,您可以添加try catch块以查看其是否引发某些异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM