现在有2个DataTable,
一个已经有了纪录,另外一个是补充纪录,2张表的结构相同。我想把另外一个DataTable里面的Row全部复制到第一个表,而不用循环操作后,2号表纪录全部最加到1号表末尾。
如果用循环,,太慢,特别是数据量大,好多行用集合操作。给点提示,最好给代码
一个已经有了纪录,另外一个是补充纪录,2张表的结构相同。我想把另外一个DataTable里面的Row全部复制到第一个表,而不用循环操作后,2号表纪录全部最加到1号表末尾。
如果用循环,,太慢,特别是数据量大,好多行用集合操作。给点提示,最好给代码
解决方案 »
- 请教正则表达式写法
- 讨论用,尽量简单的代码 写一个较完整的 装饰模式示例
- 寻找控件?拥有类似PropertyGrid功能,外形类似ListView,这样可以批量修改
- c#将窗体输入转为xml文件
- 关于委托方法并显示进度防止程序无响应问题
- datagrid 加checkbox的问题;he datagrid中 加textbox列的的问题;
- 精简版C#的Bitmap对像没有Save()函数,那应该怎么办?
- 请叫类和结构有什么区别?
- 请教一个使用SqlCommandBuilder更新数据库的问题
- C#(WINDOWS编程)
- 我是一个新手,我想提一个有关微软MCSD认证考试的问题?
- 求一条SQL语句,急!
DataTable tb2 = new DataTable();
tb2.Rows.Add(tb1.Rows);
复制该 DataTable 的结构和数据。返回值
新的 DataTable,它具有与该 DataTable 相同的结构(表架构和约束)和数据。[C#]
private void CopyDataTable(DataTable myDataTable){
// Create an object variable for the copy.
DataTable copyDataTable;
copyDataTable = myDataTable.Copy();
// Insert code to work with the copy.
}
// Create an object variable for the copy.
DataTable copyDataTable;
copyDataTable = myDataTable.Copy();
// Insert code to work with the copy.
}
这个应该是没问题的
但lz多测试一下,会不会两张表修改一张影响到另一张
呵呵
也是来自msdn的方法
呵呵
[C#]
public void ImportRow(
DataRow row
);参数
row
要导入的 DataRow。 备注
调用 NewRow 时将使用现有的表架构向表中添加一行,并为该行填充默认值,同时将 DataRowState 设置为 Added。调用 ImportRow 将保留现有的 DataRowState 以及该行中的其他值。
tb2.Rows.Add(tb1.Rows);
tb1.Rows 是集合,System.Data.DataRowCollectionAdd()里面匹配的是 DataRow要是那么简单,我就不用提问了
ImportRow加入的是单行数据..
拷贝应该不行,
if(ds_Pri_NoPay.Tables[0].Rows.Count!=0)
{
MainDs.Tables[0]=ds_Pri_NoPay.Tables[0].Copy();
}
Copy只是2号表的方法,第一张表的方法没有改一个等号,还不是复职
DataSet ds = new DataSet();
DataTable dt1 = new DataTable();
//添加dt1数据
//...
ds.Tables.Add(dt1);DataTable dt2 = new DataTable();
//添加dt2数据
//...
ds.Merge(dt2);//合并dt1和dt2的数据。
我觉得,不管Merge是不是内部有循环,他的循环效率肯定比我高而且它的内部操作出问题可能性会小的多
.net任务量大的时候,根本不能确切的执行代码
鬼知道 每个新线成来一次循环,循环会不会在循环过程中中断,或者出现异常
特别是循环1万次,10万次。。猜想:不知道是不是对,不要见笑我写的循环,那是在托管环境下工作的,
Merge里面的内部循环,应该是 非托管环境下的
如果是非托管的,效率肯定高N倍
所以,我觉得,始终是他的效率高
union
select 2