Datable 详解,及用法

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

时间: 2024-08-01 17:03:52

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

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

typedef是类型定义的意思.typedef struct 是为了使用这个结构体方便.具体区别在于:若struct node {}这样来定义结构体的话.在申请node 的变量时,需要这样写,struct node n;若用typedef,可以这样写,typedef struct node{}NODE; .在申请变量时就可以这样写,NODE n;区别就在于使用时,是否可以省去struct这个关键字. 第三篇:struct和typedef struct 分三块来讲述:1 首先:在C中定义一个结构体

ANDROID application详解与用法

1:Application是什么? Application和Activity,Service一样,是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息.通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Application并在manifest的application标签中进行注册(只需要给Application标签增加个nam

Linux服务之iptables详解及用法

一.iptables前言 1.什么是防火墙呢? 简单的说,防火墙就是工作于主机或网络的边缘,对于进出的报文根据事先定义的规则作检查,将那些能够被规则所匹配到的报文作出相应处理的组件.防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信 息包过滤表中,而这些表集成在 Linux 内核中.在信息包过滤表中,规则被分组放在我们所谓的链(chain)中.防火墙分为两种:主机防火墙和网络防火墙. 2.什么是iptables呢? 直观的说,iptables是一个软件程序.真正防火墙组件

1.10-linux三剑客之sed命令详解及用法

内容: 1.sed命令介绍 2.语法格式,常用功能 查询  增加  替换 批量修改文件名 第1章 sed是什么 字符流编辑器 Stream Editor 第2章 sed功能与版本 处理出文本文件,日志,配置文件等 增加,删除,修改,查询 sed  --version sed  -i 修改文件内容 第3章 语法格式 3.1 语法格式 sed [选项] [sed指令] [输入文件] sed -i.bak 's#oldboy#oldgril#g' oldbboy.txt 先备份在修改 -i   ---

详解super用法

一.super() 的入门使用 - 在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能, 这时,我们就需要调用父类的方法了,可通过使用 super 来实现,比如: class Animal(object): def __init__(self, name): self.name = name def greet(self): print("Hello, I am %s." %self.name) class Dog(Animal): de

struct stat结构体的详解和用法

[cpp] view plaincopy //! 需要包含de头文件 #include <sys/types.h> #include <sys/stat.h> int stat(const char *filename, struct stat *buf); //! prototype,原型 struct stat { dev_t       st_dev;     /* ID of device containing file -文件所在设备的ID*/ ino_t       s

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

首先我们来看一下什么是OpenSessionInView?    在hibernate中使用load方法时,并未把数据真正获取时就关闭了session,当我们真正想获取数据时会迫使load加载数据,而此时session已关闭,所以就会出现异常. 比较典型的是在MVC模式中,我们在M层调用持久层获取数据时(持久层用的是load方法加载数据),当这一调用结束时,session随之关闭,而我们希望在V层使用这些数据,这时才会迫使load加载数据,我们就希望这时的session是open着得,这就是所谓

Net编程 详解DataTable用法【转】

http://www.diybloghome.com/article/16.html DataTable表示一个与内存有关的数据表,可以使用工具栏里面的控件拖放来创建和使用,也可以在编写程序过程中根据需要独立创建和使用,最常见的情况是作为DataSet的成员使用,在这种情况下就需要用在编程过程中根据需要动态创建数据表. 1 代码创建DataTable数据表通过添加对象的方式直接在DataSet中创建数据表,可以通过使用Add方法将DataTable添加到DataSet中,这种是使用控件的可视化添

ServletContext详解 以及用法

ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放.request,一个用户可有多个:session,一个用户一个:而servletContext,所有用户共用一个.所以,为了节省空间,提高效率,ServletContext中,要放必须的.重要的.所有用户需要共享的线程又是安全的一些信息. 换一种方式说吧,运行在Java虚拟机中的每一个Web应用程序都有一个与之相关的Servlet上下文.ServletContext对象是Web服务器中的一个已知