C#DataTable操作
2024-09-11 07:40:39
】 在DataSet中添加DataTable DataSet.Tables.Add(DataTable) 实例: DataSet ds=new DataSet(); DataTable table=new DataTable("学生表"); ds.Tables.Add(table);
】从DataSet中读出DataTable DataTable=DataSet.Tables[]或DataSet.Tables["表名"] 实例: DataTable table=ds[i]或DataTable table=ds["学生表"] //i为DataSet中的索引值,因为DataSet可存放多个DataTable,可以根据索引值来找DataTable或直接写DataTable的名称来找DataTable
】添加行
DataTable t=new DataTable();
DataRow r=t.NewRow();
r["列名"]=列值;
t.Rows.Add(r) ; 实例: DataTable:学生表 id name xun 代码: DataTable t=new DataTable("学生表"); DataRow r=t.NewRow(); r["id"]=; r["name"]=xun2; t.Rows.Add(r); 】添加列 DataTable.Columns.Add("列名",Type.GetType("数据类型")) ;
】从行中读列值 DataRow["列名"]或DataRow[DataColumn];
】从DataTable中读列值 DataTable table; a、table.Rows[i]["列名"] b、table.Rows[i][i] c、table[i].列名(列名不加引号) 】读出特定的行 DataTable table; DataRow[] selectRow=table.Select("列名='"+存放特定的变量.ToString()+"'"); 选择其中的一行:selectRow[索引]
一、DataSet、DataTable、DataRow、DataColumn
删除DataTable中的行要注意索引问题,一般有两种方法:
】用for循环时,注意计数器初始值为表长,自减循环。DataTable.Rows.RemoveAt(i)就要注意。
】用DataTable的Select方法,注意该方法的参数是字符串筛选器
】Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除,还可以通过datatable.RejectChanges()回滚,使该行取消删除。若要删除多行,可以连续用Delete(),然后采用AccepteChanges()方法确认删除。
二、删除DataTable中的行三种方法:(DataTable.Rows.Remove(DataRow dr)、DataTable.Rows.RemoveAt(i)、DataRow.Delete())
DataTable dt = table.DefaultView.ToTable(); //文件数据
DataTable sorceDt = sorceDt = dateDs2.Tables[]; //数据库数据
DataTable except = table.Clone(); //差集 //求差集数据
foreach (DataRow dr in dt.Rows)
{
DataRow[] dtemp = sorceDt.Select("DonationBarCode='" + dr["DonationBarCode"] + "' And StartTime='" + dr["StartTime"] + "'");
if (dtemp.Length == )
{
DataRow dr2 = except.NewRow();
dr2 = dr;
except.Rows.Add(dr2.ItemArray);
}
}
三、求两个datatable的差集
最新文章
- C++ STL简述
- [c++] Exceptions
- 【FTP】在自己的电脑上建立FTP服务器
- July 1st, Week 27th Friday, 2016
- [Chapter 3 Process]Practice 3.9 Describe the actions token by a kernel to content-switch between processes.
- 创建链接服务器(dblink)
- JS 点击事件学习总结
- Antelope 和Barracuda区别
- C/S 和 B/S 模式的区别与联系
- PRINTDLG 结构体
- 如何开发Android Wear应用程序
- openstack安装配置
- hdu1722
- tomcat设置http自动跳转为https访问
- react基础学习
- 数据库并行读取和写入(Python实现)
- java:接口特性 接口与抽象类/普通类的区别
- 从零开始学spring cloud(三) -------- Eureka简介
- 多个Linux发行版安装ss服务端
- mvc 遇到的问题