多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
产生此错误的代码:
dtContract_dst.Rows.Add(dr.ItemArray);
String columns = "";
String paramss = "";
OleDbCommand updateCmd = con_dst.CreateCommand();
foreach (DataColumn dc in dtContract_dst.Columns)
{
if (columns == "")
{
columns = dc.ColumnName;
paramss = "@" + dc.ColumnName;
}
else
{
columns += ", " + dc.ColumnName;
paramss += ", @" + dc.ColumnName;
}
updateCmd.Parameters.Add(new OleDbParameter(dc.ColumnName, dc.DataType);
}
updateCmd.CommandText = "insert into T_Contract(" + columns + ") Values(" + paramss + ")";
updateCmd.ExecuteNonQuery();
OleDbDataAdapter dataAdap = new OleDbDataAdapter();
dataAdap.InsertCommand = updateCmd;
dataAdap.Update(dtContract_dst);
执行dataAdap.Update(dtContract_dst);的时候出现此错误,有人提到是数据库的字段类型不匹配,但我的两个表是完全一致的。
目前还没有找到问题原因和解决方案。