“该行已经属于另一个表”的解决方法

将一个DataTable中的数据按条件复制到另一个DataTable中的时候出现“该行已经属于另一个表”的错误。比如

1
2
3
4
5
6
7
8
DataTable dt = new DataTable();
dt = ds.Tables["All"].Clone();//克隆All的结构传递给dt
DataRow[] dr=this.dataSet31.Tables["Product"].Select("bc=1"); //通过条件得到符合条件的行
for(int i=0;i<dr.Length;i++)
{
    //将数组元素加入表...
    dt.Rows.Add(dr[i]);//出错提示为:该行已经属于另一个表
}

解决方法:
只需要把代码改成

dt.Rows.Add(dr[i].ItemArray);

这样就好了!

Rows的ItemArray的方法通过一个数组来获取或设置此行的所有值。

posted @   恋醉梦  阅读(295)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示