】 在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的差集

最新文章

  1. C++ STL简述
  2. [c++] Exceptions
  3. 【FTP】在自己的电脑上建立FTP服务器
  4. July 1st, Week 27th Friday, 2016
  5. [Chapter 3 Process]Practice 3.9 Describe the actions token by a kernel to content-switch between processes.
  6. 创建链接服务器(dblink)
  7. JS 点击事件学习总结
  8. Antelope 和Barracuda区别
  9. C/S 和 B/S 模式的区别与联系
  10. PRINTDLG 结构体
  11. 如何开发Android Wear应用程序
  12. openstack安装配置
  13. hdu1722
  14. tomcat设置http自动跳转为https访问
  15. react基础学习
  16. 数据库并行读取和写入(Python实现)
  17. java:接口特性 接口与抽象类/普通类的区别
  18. 从零开始学spring cloud(三) -------- Eureka简介
  19. 多个Linux发行版安装ss服务端
  20. mvc 遇到的问题

热门文章

  1. StoryBoard 的使用
  2. JavaScript高级程序设计2.pdf
  3. php表单提交方法汇总
  4. t
  5. spring security 允许 iframe 嵌套
  6. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(28)-系统小结
  7. Android 颜色渲染(十) ComposeShader组合渲染
  8. windows 与Linux 互传文件
  9. Charles --- Mac 抓包工具
  10. 最近的两个小项目,2:Python webapp的docker镜像