一、DataSet、DataTable、DataRow、DataColumn

1】 在DataSet中添加DataTable

DataSet.Tables.Add(DataTable)

实例:

    DataSet ds=new DataSet();

    DataTable table=new DataTable("学生表");

    ds.Tables.Add(table);
2】从DataSet中读出DataTable

DataTable=DataSet.Tables[0]或DataSet.Tables["表名"]

实例:

    DataTable table=ds[i]或DataTable table=ds["学生表"]

    //i为DataSet中的索引值,因为DataSet可存放多个DataTable,可以根据索引值来找DataTable或直接写DataTable的名称来找DataTable
3】添加行
     DataTable t=new DataTable();
     DataRow r=t.NewRow();
     r["列名"]=列值;
     t.Rows.Add(r) ;

实例:

    DataTable:学生表

    id    name

    1    xun

代码:

    DataTable t=new DataTable("学生表");

    DataRow r=t.NewRow();

    r["id"]=2;

    r["name"]=xun2;

    t.Rows.Add(r);

4】添加列

DataTable.Columns.Add("列名",Type.GetType("数据类型"))  ;
5】从行中读列值

DataRow["列名"]或DataRow[DataColumn];  
6】从DataTable中读列值

DataTable table;

a、table.Rows[i]["列名"]

b、table.Rows[i][i]

c、table[i].列名(列名不加引号)

7】读出特定的行

DataTable table;

DataRow[] selectRow=table.Select("列名='"+存放特定的变量.ToString()+"'");

选择其中的一行:selectRow[索引]

二、删除DataTable中的行三种方法:(DataTable.Rows.Remove(DataRow dr)、DataTable.Rows.RemoveAt(i)、DataRow.Delete())

删除DataTable中的行要注意索引问题,一般有两种方法:
1】用for循环时,注意计数器初始值为表长,自减循环。DataTable.Rows.RemoveAt(i)就要注意。
2】用DataTable的Select方法,注意该方法的参数是字符串筛选器
3】Delete()之后需要datatable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除,还可以通过datatable.RejectChanges()回滚,使该行取消删除。若要删除多行,可以连续用Delete(),然后采用AccepteChanges()方法确认删除。

最新文章

  1. c# http get请求与post请求实例
  2. Windows Store App 全球化:应用中设置语言选项
  3. ARToolKit for Unity环境搭建(初步搭建成功)
  4. 数据结构之hash表
  5. 怎样快糙猛的开始搞Kaggle比赛
  6. Internationalization
  7. HDOJ --- 2577
  8. JQuery- 动画与效果
  9. transition的唧唧歪歪
  10. JVM基础系列第1讲:Java 语言的前世今生
  11. Java项目的导入和导出
  12. 切割日志(mysql,nginx,php tomcat)使用logrotate
  13. X11,GTK,QT,GNOME的区别与联系(UI工具总结)
  14. iOS:使用NSRegularExpression正则去掉一串字符串中所有的特殊字符和标点
  15. ClusterControl docker 环境搭建
  16. Cmake 编译opengl开源库glfw工程及使用
  17. 2018.07.03 POJ 2318 TOYS(二分+简单计算几何)
  18. 如何识别网页类型(wap页面还是wise页面)
  19. MySQL数据库怎么截取字符串?
  20. jmap, jhat命令

热门文章

  1. wxpyhon 鼠标事件例子
  2. 关于xxx.h file not found 的问题
  3. 初学IHttpModule的处理
  4. Lucene的多线程访问原则和同步,锁机制
  5. java中使用URLClassLoader访问外部jar包的java类
  6. Android布局(一)layout_gravity 属性和 gravity属性的区别
  7. Ubuntu 13.10 下安装node
  8. SVN(一次检出&二次检出)
  9. EF6 Codefirst+MySql 数据库迁移
  10. TCP/IP详解之:IGMP和DNS