您好,欢迎访问一九零五行业门户网

详细介绍C#该行已经属于另一个表的解决方法

详细介绍c#该行已经属于另一个表的解决方法
产生错误的代码:
datatable dtcontract_src = oper.getdatatable("select * from t_contract where projectid=" + projectid_src + " and flag=0", con_src); foreach (datarow dr in dtcontract_src.rows) { string contractid_src = dr["contractid"].tostring(); datatable dtcontract_dst = oper.getdatatable("select * from t_contract where projectid=" + projectid_src + " and contractid=" + contractid_src + " and flag=0", con_dst); if (dtcontract_dst.rows.count != 0) { impcontract_exist++; continue; } dtcontract_dst.rows.add(dr); 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); }
错误行:
dtcontract_dst.rows.add(dr);
解决办法:
dtcontract_dst.rows.add(dr.itemarray);
以上就是详细介绍c#该行已经属于另一个表的解决方法的详细内容。
其它类似信息

推荐信息