我正在尝试将数据行从一个本地数据表传输到另一个本地数据表。但是我收到了一个错误:
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);
它表示“输入数组比此表中的列数长。”
答案 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);