行属于另一个表

时间:2017-06-24 21:02:13

标签: c# asp.net visual-studio

我正在尝试将数据行从一个本地数据表传输到另一个本地数据表。但是我收到了一个错误:

System.Data.dll中发生了'System.ArgumentException'类型的异常,但未在用户代码中处理

附加信息:此行已属于另一个表。

我的代码:

        DataTable missedQueue = new DataTable();
        DataSet queue = DBMgr.GetDataSet("SELECT * FROM queue");

        DataRow dr = queue.Tables[0].NewRow();
        for (int i = 0; i < queue.Tables[0].Columns.Count; i++)
        {
            dr[queue.Tables[0].Columns[i].ColumnName] = queue.Tables[0].Rows[0][i];
        }

        missedQueue.Rows.Add(dr); // error shown here

然而,在我研究并将代码更改为

之后
       missedQueue.Rows.Add(dr.ItemArray);

它表示“输入数组比此表中的列数长。

2 个答案:

答案 0 :(得分:1)

您可以使用DataTable.Copy()方法并复制php ../composer.phar require jms/serializer-bundle "^2.0"

DataTable

答案 1 :(得分:0)

使用:

DataSet queue = DBMgr.GetDataSet("SELECT * FROM queue");
DataTable missedQueue = queue.Clone();
.
.
.
missedQueue.Rows.Add(dr.ItemArray);