我使用以下代码将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()方法.