• 技术文章 >后端开发 >C#.Net教程

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

    黄舟黄舟2017-03-11 13:15:13原创1408

    详细介绍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#该行已经属于另一个表的解决方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:C#
    上一篇:关于c#代码Convert.ToChar(null);出现异常的详解(图) 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • go是c语言中关键字吗• 指针数组和数组指针的区别是什么• 汇编语言和c语言的区别是什么• putchar()的功能是啥• c语言文件读写怎么操作
    1/1

    PHP中文网