DataTable myDT = myDataSet.Tables[intIndex] ;
Tables屬性傳回一個DataTableCollection 物件,這個物件包含了DataSet物件中所有的資料表集合,傳入的索引值則用以指定回傳集合中特定的DataTable物件,以下的敘述,依序取得 資料表集合物件,然後取出集合中的第一個資表物件,myDS 為DataSet物件,而myDTC[0] 則是資料表集合中的第一個資料表物件 :
DataTableCollection myDTC = myDS.Tables ;
DataTable myDT = myDTC[0] ;
一旦件的DataColumnCollection集合物件,敘述如下,myDT為上述 DataTable 物件,myDCC則為一DataColumnCollection集合物件:
DataColumnCollection myDCC = myDT.Columns;
你同樣可以藉由索引值取得特定的欄位值 :
DataColumn myDC =myDCC[0] ;
你也可以使用欄位名稱代替索引,敘述如下 :
DataColumn myDC =myDCC[”CustomerID”] ;
這兩種敘均能夠用來取得特定的欄位值。
DataRow物件則代表某一特定資料列,藉由這個物件你可以修正、異動其所屬DataTable物件裏所儲存的資料,而類似上述的DataColumn物件,DataTable的Columns屬性回傳一個包含所有資料列內容的DataRowCollection 集合物件。
DataRowCollection myDRC = myDT.Rows ;
DataRowCollection 集合物件提供方法Find,藉由這個方法,你可以搜尋某個設定為PK值的欄位,符合特定條件值的資料列。
由於DataSet是一種斷線物件,因此,我們可以隨意針對其中DataTable物件所儲存的資料,進行異動操作,而不會影響到原始的資料來源,直到你使用DataAdapter物件將異動的結果傳回資料庫,接下來說明DataSet裏,DataTable物件儲存資料的異動方法。
對於DataTable物件來說,新增一筆資料的意義乃是將一個包含新資料內容的DataRow物件加到其原先的DataRowCollection 集合物件,因此,首先你必需產生一個空的DataRow物件,這個新DataRow物件包含了原始DataTable物件相同的欄位結構,你可以使用DataTable類別所提供的NewRow方法,回傳一個新的DataRow物件 :
DataRow myRow = myDT.NewRow() ;
然後再依序將對應欄位的資料值填入適當的欄位,由於DataRow物件與呼叫NewRow方法的DataTable物件有著完全相同的架構,因此你可以一一指定其欄位值,其語法形式如下:
myRow[0] = value0 ;
myRow[1] = value1 ;
…
myRow[2] = value2 ;
完成欄位資料的新增動作,引用 DataRowCollection 集合物件的 Add 方法將此資料列加入集合中即可。
myDRC.Add(myRow) ;
DataRowCollection 集合物件提供另一個方法 Remove, 允許你進行資料的刪除操作,你只要將指定的DataRow物件,當作參數傳入此方法即可 。
myDRC.Remove(myRow)
而更新一筆現存的資料則針對所要更新的 DataRow 物件,依序指定其欄位內容,如上述新增一筆資料列。