您的位置:首页 > 编程语言 > C#

C#DataTable学习心得

2013-03-06 15:05 309 查看


C#DataTable学习心得

一、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()方法确认删除。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: