一、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()方法确认删除。

Datable 详解,及用法的更多相关文章

  1. java continue break 关键字 详解 区别 用法 标记 标签 使用 示例 联系

    本文关键词: java continue break 关键字 详解 区别  用法 标记  标签 使用 示例 联系   跳出循环 带标签的continue和break 嵌套循环  深入continue ...

  2. 结构体定义 typedef struct 用法详解和用法小结

    typedef是类型定义的意思.typedef struct 是为了使用这个结构体方便.具体区别在于:若struct node {}这样来定义结构体的话.在申请node 的变量时,需要这样写,stru ...

  3. jquery中attr()与prop()函数用法实例详解(附用法区别)

    本文实例讲述了jQuery中attr()与prop()函数用法.分享给大家供大家参考,具体如下: 一.jQuery的attr()方法 jquery中用attr()方法来获取和设置元素属性,attr是a ...

  4. Java中Class类详解、用法及泛化

    Java中Class类及用法 Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI.这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确方 ...

  5. struct stat结构体的详解和用法

    [cpp] view plaincopy //! 需要包含de头文件 #include <sys/types.h> #include <sys/stat.h> S_ISLNK( ...

  6. fstream,ifstream,ofstream 详解与用法

    fstream,istream,ofstream 三个类之间的继承关系 fstream :(fstream继承自istream和ofstream)1.typedef basic_fstream< ...

  7. ServletContext详解 以及用法

    ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放.request,一个用户可有多个:session,一个用户一个:而servletContext,所 ...

  8. [转]Java程序员从笨鸟到菜鸟之(八十三)细谈Spring(十二)OpenSessionInView详解及用法

    首先我们来看一下什么是OpenSessionInView?    在hibernate中使用load方法时,并未把数据真正获取时就关闭了session,当我们真正想获取数据时会迫使load加载数据,而 ...

  9. Net编程 详解DataTable用法【转】

    http://www.diybloghome.com/article/16.html DataTable表示一个与内存有关的数据表,可以使用工具栏里面的控件拖放来创建和使用,也可以在编写程序过程中根据 ...

随机推荐

  1. Name control

    static: (Page 406) In both C and C++ the keyword static has two basic meanings, which unfortunately ...

  2. IOS 学习笔记 2015-03-20 OC-数值类型

    一 定义 在Objective-C中,我们可以使用c中的数字数据类型,int.float.long等.它们都是基本数据类型,而不是对象.也就是说,不能够向它们发送消息.然后,有些时候需要将这些值作为对 ...

  3. Mac apache配置问题解决

    AH00526: Syntax error on line 20 of /private/etc/apache2/extra/httpd-mpm.conf: Invalid command 'Lock ...

  4. 疯狂学习java web

    因工作需要,疯狂学习java web,只是这么多年一直从事C++开发,突然之间要接手同事的那么一大堆代码,真有无从下手的感觉,首先是要学习html,然后是js, 然后是jsp,当然还有各种框架,想想就 ...

  5. yii2源码学习笔记(十九)

    view剩余代码 /** * @return string|boolean the view file currently being rendered. False if no view file ...

  6. Lighttpd日志打印格式

    检查lighttpd打印的日志时,有些字段意义模糊,就找了个对照说明,备份一下 原文地址:http://redmine.lighttpd.net/projects/1/wiki/Docs_ModAcc ...

  7. session阻塞机制,解决方法

    session从生成到读取,或从生成到写入都出现锁定的情况. 1.session_start();session_commit(); 2.session_start();session_write_c ...

  8. 跨线程操作UI控件

    写程序的时候经常会遇到跨线程访问控件的问题,看到不少人去设置Control.CheckForIllegalCrossThreadCalls = false;这句话是告诉编译器不要对跨线程访问作检查,可 ...

  9. std::copy的使用

    看到有人在用std::copy这个东西,很简洁和爽啊,,所以找些帖子学习学习 http://blog.sina.com.cn/s/blog_8655aeca0100t6qe.html https:// ...

  10. iBatis系列之三

    iBatis和Hibernate最大差别就是在于iBatis没有严格的和具体的表做关联:而是将结果集和DAO做关联. iBatis的SqlConfig.xml配置一个properties文件,其实可以 ...