C# DataTable常用方法

来源:互联网 发布:java的发展方向 编辑:程序博客网 时间:2024/05/29 11:45

刚入职不久开始写自己的第一篇博客,技术小白菜将自己的学习心得与各位分享,同时希望得到各位技术牛人的纠错,欢迎指正。

.NET为了方便程序员的使用,将数据库中取出来的数据进行封装成类,进行后面程序对数据的使用,DataTable是很常用的一个类。DataSet可以装下多个DataTable,DataTable就是一张数据表。

一、在DataSet中添加DataTable

DataSet.Tables.Add(DataTable);

实例:DataSet ds=newDataSet();

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

  ds.Tables.Add(table);

二、从DataSet读出DataTable

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

实例:

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

//iDataSet中的索引值,因为DataSet可存放多个DataTable,可以根据索引值来找DataTable或直接写DataTable的名称来找DataTable

三、添加行(向表添加数据)

DataTablet=new DataTable();

DataRow r=t.NewRow();r["列名"]=列值;  //新建以后最后还要添加到表中;

t.Rows.Add(r);

实例:

DataTable:学生表

id    name

1    xun

代码:

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

DataRowr=t.NewRow();

r["id"]=2;

r["name"]=xun2;

t.Rows.Add(r);

四、添加列(向表添加字段)

DataTable.Columns.Add("列名",Type.GetType("数据类型"))  ;

五、

从行中读列的值:DataRow["列名"]或者DataRow[DataColumn];

DataTable中读列值:(我感觉可以将Table当成一个数组读列值)

DataTable table;

    atable.Rows[i]["列名"]

    btable.Rows[i][i]

    ctable[i].列名(列名不加引号)

 读出特定的行:

    DataTable table;

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

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

六、

删除DataTable中的行三种方法:

DataTable.Rows.Remove(DataRowdr)

DataTable.Rows.RemoveAt(i)

DataRow.Delete()

删除DataTable中的行要注意索引问题,一般有两种方法:

1、for循环时,注意计数器初始值为表长,自减循环。DataTable.Rows.RemoveAt(i)就要注意。

2、DataTableSelect方法,注意该方法的参数是字符串筛选器

3Delete()之后需要DataTable.AccepteChanges()方法确认完全删除,因为Delete()只是将相应列的状态标志为删除,还可以通过DataTable.RejectChanges()回滚,使该行取消删除。若要删除多行,可以连续用Delete(),然后采用AccepteChanges()方法确认删除。

0 0
原创粉丝点击