无法使用SqlBulkCopy从Excel读取第一行

.net asp.net c# sqlbulkcopy

我使用以下代码将Excel文件更新为SQL Server。代码正在运行,但无法将第一行插入表中。

OleDbConnection OleDb = new OleDbConnection(ConnectionString);
OleDbCommand OleDbCmm = new OleDbCommand(Query,OleDb);
OleDbDataReader OleDbdr;
OleDb.Open();

if (OleDb.State == ConnectionState.Open)
{
    OleDbdr = OleDbCmm.ExecuteReader();
    SqlBulkCopy BulkCopy = new SqlBulkCopy(ConfigurationManager.ConnectionStrings["connstring"].ToString());
    BulkCopy.DestinationTableName = "TempTable";

    if (OleDbdr.Read())
    {
       BulkCopy.WriteToServer(OleDbdr);
    }
 }

 OleDb.Close();

热门答案

即使我遇到同样的问题,这也是因为我正在使用如下的Read()方法。

           while (dr.Read())
            {
                bulkcopy.WriteToServer(dr);
            }

解决上述问题的方法是删除dr.Read()方法和while循环使用bulkcopy.WriteToServer(dr),不带任何条件和Read()方法。




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因