C#两个DataTable拷贝问题:该行已经属于另一个表的解决方法
一、DataTable.Rows.Add(DataRow.ItemArray);
二、DataTable.ImportRow(DataRow)
三、设置DataTable的tablename,然后.Rows.Add
第一种方法在项目中用到,确实好用!两种方式都可以自己选择吧,没有什么好坏
----------------------------------------------------------------------------------------------------------------
要把数据从一个DataTable复制到另一个DataTable,执行结果出现c#错误:
该行已经属于另一个表。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentException: 该行已经属于另一个表。
错误代码如下:
DataTable sourceTable = null;
sourceTable = GetTest(tableName);
if (sourceTable == null)
{
return null;
}
DataTable retTable = new DataTable();
foreach (DataRow dr in sourceTable.Rows)
{
if (dr["主键"].ToString() != "")
{
retTable.Rows.Add(dr);
}
}
后经修改,调试通过,修改后代码如下:
DataTable sourceTable = null;
sourceTable = GetTest(tableName);
if (sourceTable == null)
{
return null;
}
DataTable retTable = new DataTable();
foreach (DataRow dr in sourceTable.Rows)
{
if (dr["主键"].ToString() != "")
{
retTable.Rows.Add(dr.ItemArray);
}
}
C#两个DataTable拷贝问题:该行已经属于另一个表的解决方法的更多相关文章
- C# 该行已经属于另一个表 的解决方法[转]
该文转自:http://blog.sina.com.cn/s/blog_48e4c3fe0100nzs6.html DataTable dt = new DataTable(); dt = ds.Ta ...
- Datatable添加数据,提示该行已经属于另一个表的解决方法
一.DataTable.Rows.Add(DataRow.ItemArray); 二.DataTable.ImportRow(DataRow) 三.设置DataTable的tablename,然后.R ...
- C# 该行已经属于还有一个表 的解决方法
产生错误的代码: DataTable dtContract_src = Oper.GetDataTable("select * from T_Contract where ProjectID ...
- (转)DataTable添加行出现“该行已经属于另一个表”的错误!
1 DataTable dt1 = new DataTable(); DataTable dt2 = new DataTable(); //为dt1创建结构 DataColumn pName = ne ...
- C# 该行已经属于另一个表
DataTable dtSource = (DataTable)this.gridControl1.DataSource; DataRow[] dr = dtSource.Select("c ...
- 关于 从别人电脑上 高版本的 Xcode上拷贝过来的项目的 不能运行模拟器的 解决方法
如图 从别人电脑上 拷贝过来的 工程 打开后 点击 iOS Device 只有 一个选项 没有模拟器.这说明 自己的 Xcode 的版本比 创建这个工程所用的版本低.所以 要睇啊你tar ...
- 递归添加 另一个ds 里的DataRow 时 报错:该行已经属于另一个表。
public void create_tree(DataSet ds, int parentid) { DataSet newds = new DataSet(); ...
- datatable行内内容太长,有时不自动换行解决方法
加一个css属性即可 style = "word-wrap:break-word;" js代码: "render": function (data, type, ...
- U盘拷贝目标文件过大无法复制时的解决方法
在cmd下输入:convert U盘符:/fs:ntfs ---> 回车 转换完成后可以看到U盘属性为NTFS了 这时就可以复制大文件到U盘了
随机推荐
- Linux Centos7中MySql安装
(1) 安装Mysql5.7: 执行命令:rpm -ivh http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-co ...
- Spring-boot 1.5.2 下隐藏Banner
在配置文件中增加: spring.main.banner-mode=off
- ubuntu1604安装tensorflow
操作系统 :ubuntu-16.04.2-desktop-amd64tensorflow版本: 1.0.0python版本 : 2.7.12 开启ssh : sudo apt install open ...
- JQuery EasyUI学习笔记
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6690888.html 简介与准备 jQuery EasyUI 是一个基于 jQuery 的框架,集成了各种用 ...
- J2EE框架知识清单
1:Struts MVC.JVC 2:struts action 3:struts 1.0和2.0区别 4:Spring 核心机制:依赖注入 5:使用Spring容器 6:AOP的概念与应用 7:IO ...
- C# lambda方式取出前十个经常联系的手机号码
这个场景适合所有要查找相同字符串的个数并返回一个序列 //取出前十个经常联系的手机号(即:计算重复手机个数最多的前十个) ).Select(i=>).ToList();
- 获取公钥证书的DN(Distinguished Name)
DN -- Distinguished Name,证书持有人的唯一标识符. 可以通过下面的openssl命令来打印出证书的DN. openssl x509 -subject -nameopt RFC ...
- 简单的BSON OID生成实现
简单的OID生成测试实现,只是简单的用用,切勿用于生产环境. /* 应该使用大端序的,这里没有做转换 * ObjectId是12-byte BSON类型,其结构为: * * 4-byte 值为Unix ...
- linux 上配置tomcat、mysql 开机启动
1.tomcat 开机启动 方法一.修改系统文件 (已经尝试,可以) 1.修改/etc/rc.d/rc.local vi /etc/rc.d/rc.local 2.添加下面两行脚本,记住是两行,仅仅第 ...
- Java实现的简单神经网络(基于Sigmoid激活函数)
主体代码 NeutronNetwork.java package com.rockbb.math.nnetwork; import java.util.ArrayList; import java.u ...