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# 该行已经属于另一个表 的解决方法

相关文章:

你感兴趣的文章:

标签云: