我正在使用以下代码将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);
}

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

07-26 00:01