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

2021-05-28 04:02

阅读:651

标签:运行   rate   直接   png   array   解决方法   技术   出现   EDA   

当我们使用DataTable的时候,取到其中的一行dataRow,然后将其Add()到另外的一个表。如果直接进行Add()的话,就会出现一个异常 "此行已经属于另一个表"。

简单例子:

技术图片
 1         private void OperateDataTable()
 2         {
 3             DataTable dataTableA = new DataTable("Table A");
 4             DataColumn dataColumn;
 5             DataRow dataRow;
 6 
 7             dataColumn = new DataColumn();
 8             dataColumn.ColumnName = "ID";
 9             dataColumn.DataType = typeof(int); //Type.GetType("System.Int32");
10             dataTableA.Columns.Add(dataColumn);
11 
12             dataColumn = new DataColumn();
13             dataColumn.ColumnName = "Name";
14             dataColumn.DataType = typeof(string);
15             dataTableA.Columns.Add(dataColumn);
16 
17             for (int i = 0; i  0 && dataTableB.Rows[0] != null)
50             {
51                 DataRow row = dataTableB.Rows[0];
52 
53                 dataTableA.Rows.Add(row);  // 这里会出异常
54             }
55         }        
技术图片

技术图片

 

 

解决方案:

技术图片
if (dataTableB.Rows.Count > 0 && dataTableB.Rows[0] != null)
{
    DataRow row = dataTableB.Rows[0];

    dataTableA.Rows.Add(row.ItemArray);
}
技术图片

这样就可以顺利运行,并解决啦!

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

标签:运行   rate   直接   png   array   解决方法   技术   出现   EDA   

原文地址:https://www.cnblogs.com/wzihan/p/14758297.html


评论


亲,登录后才可以留言!