如何为DataTable添加新的DataRow

如何为DataTable添加新的DataRow,第1张

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

二、DataTable.ImportRow(DataRow)

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

将DataRow 添加到DataTable 中报错

for (int i = 0i Headdt.Rows.Counti++){

DataRow [] rows = Headdt.Select()

DataTable dt = new DataTable()

dt = rows[i].Table.Clone()

foreach (DataRow row in rows){

dt.Rows.Add(row)// 将DataRow 添加到DataTable 中

//报错 该行已经属于另一个表。}}

求解啊。。。

------解决方案--------------------------------------------------------

datarow 如果要添加到 datatable 必须和 Datatable 使用同一个 schama,否则只能用ImportRow

要获得同一架构的row 用:

------解决方案--------------------------------------------------------

你如果是为了复制数据,两行就搞定了C# code

DataTable dt = new DataTable()

dt=Headdt.Select().CopyToDataTable()

------解决方案--------------------------------------------------------

LZ 只需要改成这样就好了,测试过了。

foreach (DataRow row in rows){

dt.Rows.Add(row.ItemArray)}

------解决方案--------------------------------------------------------C# code

datatable dt=Headdt.clone //创建一个DataTable dt,字段结构复制自Headdt

dt.rows.add(Headdt.select( 找到这行记录的条件 )(0).itemarray) //在dt 中添加一行,

这行的值从Headdt 中查询出来,( 找到这行记录的条件 )这个部分可能类似于 Id=3

------解决方案--------------------------------------------------------

很明显,那个row 已经属于rows 了,所以你只要重新创建一个datarow 类型的变量,同时把

row 的值赋给这个新建变量,再利用add(新建变量)就行了

这种情况下可以使用table.ImportRow(Newrow)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11248823.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存