多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。

多步 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);的时候出现此错误,有人提到是数据库的字段类型不匹配,但我的两个表是完全一致的。

目前还没有找到问题原因和解决方案。

你可能感兴趣的:(代码,工作,String,DB,操作)