zoukankan      html  css  js  c++  java
  • C#两个DataTable拷贝问题:该行已经属于另一个表的解决方法

    一、DataTable.Rows.Add(DataRow.ItemArray);

    二、DataTable.ImportRow(DataRow)

    三、设置DataTable的tablename,然后.Rows.Add

    第一种方法在项目中用到,确实好用!两种方式都可以自己选择吧,没有什么好坏

    ----------------------------------------------------------------------------------------------------------------

    要把数据从一个DataTable复制到另一个DataTable,执行结果出现c#错误:

    该行已经属于另一个表。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.ArgumentException: 该行已经属于另一个表。

    错误代码如下:


    DataTable sourceTable = null;

    sourceTable = GetTest(tableName);

    if (sourceTable == null)

    {

    return null;

    }

    DataTable retTable = new DataTable();

    foreach (DataRow dr in sourceTable.Rows)

    {

    if (dr["主键"].ToString() != "")

    {

    retTable.Rows.Add(dr);

    }

    }

    后经修改,调试通过,修改后代码如下:


          DataTable sourceTable = null;

    sourceTable = GetTest(tableName);

    if (sourceTable == null)

    {

    return null;

    }

    DataTable retTable = new DataTable();

    foreach (DataRow dr in sourceTable.Rows)

    {

    if (dr["主键"].ToString() != "")

    {

    retTable.Rows.Add(dr.ItemArray);

    }

    }

  • 相关阅读:
    Web_0012:FTP文件编辑器关联
    JS_0033:判断苹果安卓 微信浏览器,并在苹果微信浏览器下做特别处理
    JS_0032:匿名函数 function前加 ! 或 function用括号包裹起来 含义
    JS_0031:JS 常用方法
    spark为什么用scala语言开发
    spark开发常见问题
    java实现多继承
    数仓架构
    object类中的方法
    Spring的IOC原理
  • 原文地址:https://www.cnblogs.com/spring_wang/p/5503894.html
Copyright © 2011-2022 走看看