ADO.NET DataTable的复制(clone)

using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=test;Integrated Security=True"))
{
DataSet ds=new DataSet();

string selectText="select * from tab_cJ";
SqlDataAdapter sda = new SqlDataAdapter(selectText, conn);
sda.Fill(ds);
DataTable oldDT = ds.Tables[0];
DataTable newDT = oldDT.Clone();

foreach (DataRow oldDR in oldDT.Rows)
{
if (int.Parse(oldDR["age"].ToString()) > 13)
{
DataRow newDR = newDT.NewRow();//新表创建新行
newDR.ItemArray = oldDR.ItemArray;//旧表结构行赋给新表结构行
newDT.ImportRow(oldDR);
}
}
GridView1.DataSource = newDT;
GridView1.DataBind();
}

时间: 2024-10-05 07:38:31

ADO.NET DataTable的复制(clone)的相关文章

C#中,用HashTable,DataTable等复制和克隆浅谈

如有雷同,不胜荣欣,若转载,请注明 在C#中,用HashTable,DataTable等复制和克隆浅谈,下面直接看例子 HashTable ht = null; ht = new HashTable(); foreach(string s in ht) { //... } //上面遍历的时候需要修改HashTable中的键值,一般会报异常,提示您的集合已修改XXX什么的,因为foreach遍历的时候,in 后面的集合不可更改 //这个时候应该我想到了,应该在遍历之前复制一份, HashTable

DataTable的方法Clone()和Copy()的区别

Clone()-------只是复制表结构,包括所有的架构和约束.简单理解就是复制原表中的字段. Copy()-------复制整个表,包括表结构和表中所有的数据,即原表中的字段和字段值. 实例: DataTable dt = set.Tables[0]; DataTable cloneTable = dt.Clone(); DataTable copyTable = dt.Copy(); 其中dt为原表如下: cloneTable记录行为0的原表结构: 而copyTable则同dt完全一样.

如何从一个DataTable中复制数据行到另一个DataTable中

DataTable dt = ""; //这里是填充DataTable数据 DataTable dtNew = dt.Copy(); //复制dt表数据结构 dtNew.Clear() //清楚数据 for (int i = 0; i < dt.Rows.Count; i++) { if (条件语句) { dtNew.Rows.Add(dt.Rows[i].ItemArray); //添加数据行 } } ===前提:我们已经有一个DataTable的数据表 现在需要的只是其中的一

C# Array类的浅复制Clone()与Copy()的差别

1 Array.Clone方法 命名空间:System 程序集:mscorlib 语法: public Object Clone() Array的浅表副本仅复制Array的元素,不管他们是引用类型还是值类型.可是不负责这些引用所引用的对象. 新Array中的引用与原始Array的引用指向同样的对象. 例: int[] intArray1 = {1, 2}; int [] intArray2 = (int [])intArray1.Clone(); 这里须要说明的是.须要使用强制类型转换,原因在于

C# Array类的浅复制Clone()与Copy()的区别

1 Array.Clone方法 命名空间:System 程序集:mscorlib 语法: public Object Clone() Array的浅表副本仅复制Array的元素,无论他们是引用类型还是值类型,但是不负责这些引用所引用的对象. 新Array中的引用与原始Array的引用指向相同的对象. 例: int[] intArray1 = {1, 2}; int [] intArray2 = (int [])intArray1.Clone(); 这里需要说明的是,需要使用强制类型转换,原因在于

49. 3种方法实现复杂链表的复制[clone of complex linked list]

[题目] 有一个复杂链表,其结点除了有一个next指针指向下一个结点外,还有一个sibling指向链表中的任一结点或者NULL.其结点的C++定义如下: C++ Code 1234567   // complex node struct struct ComplexNode {    int value;      ComplexNode *next;      ComplexNode *sibling; }; 下图是一个含有5个结点的该类型复杂链表.图中实线箭头表示next指针,虚线箭头表示s

ADO.NET DataSet、DataTable、DataRow、DataView的学习

对于一个datatable中的数据进行嵌套查询判断某几列数据是否相同从而确定这条数据是否一样,并确定他重复的次数COUNT1字段. 例如: DataTable dt = new DataTable(); dt.Columns.Add("NAME", System.Type.GetType("System.String"));        dt.Columns.Add("SEX", System.Type.GetType("System

复制datatable,把类型变为字符串

DataTable dtcp = tblDeliveryInfo.Clone(); foreach (DataColumn item in dtcp.Columns) { item.DataType = typeof(string); } foreach (DataRow item in tblDeliveryInfo.Rows) { DataRow dr = dtcp.NewRow(); for (int i = 0; i < item.ItemArray.Length; i++) { dr[

ADO.NET对象模型

ADO.NET建立在NetFramwork一些核心类的基础之上,可以将这些类分为两组:用于包含于管理数据的容器类与用于连接特定数据源的控制类. 容器类是通用的,无论使用什么样的数据源,都可以使用相同的数据容器实现数据存储. 用于连接特定数据源的类成为ADO.NET的数据提供程序.此处仅研究AQL Server数据库提供程序. 几个重要的命名空间: System.Data:包含了DataSet与DataRelation类,支持结构化关系数据的操纵.独立于特定的数据库类型与连接方式. System.