多步 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);的时候出现此错误,有人提到是数据库的字段类型不匹配,但我的两个表是完全一致的。
目前还没有找到问题原因和解决方案。