標籤:os ar for 資料 sp 問題 代碼 ad new
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()方法確認刪除。
C#DataTable學習心得