C# DataTable
http://www.cnblogs.com/xun126/archive/2010/12/30/1921557.html
http://msdn.microsoft.com/zh-cn/library/system.data.datatable(v=vs.110).aspx
一、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()方法确认删除。