DataTable的一些介紹

DataTable 爲內存中的表並不是 數據庫中的表 在經過“持久化”之後 可以轉化爲數據庫中的表

–       持久化到數據庫可以使用dataAdapter.Update的方法。

 

創建DataTable對象的方法:

 

1.通過構造函數創建

無參數構造函數

DataTable table1=New DataTable();

有參數構造函數

DataTable table1=New DataTable(string tableName) ;

 

2. 通過DataSet獲取DataTable :

DataTable table1=DataSet.Tables[0]

DataTabletable1=DataSet.Tables[“tableName”]

 

3. 通過已有的DataTable的Clone()方法得到新的DataTable對象

•         新表與現有表結構相同

•         這在實際中也是常用的

DataTable table2=table1.Clone(); 克隆的只是表結構 並不包含數據

而DataTabletable2=table.Copy();是複製表一的所有內容包括結構與數據

 

4. 通過DataAdapter填充DataSet對象,在DataSet中自動生成一個與查詢結果集結構與記錄相同的DataTable對象

    DataAdapter da=new DataAdapter();

    DataSet ds=new DataSet(); 

  

DataTable的Columns屬性和Rows屬性

Columns屬性:表示DataTable對象的  DataColumn(數據列的意思)列對象的集合.

Rows屬性:  表示DataTable對象的DataRow(數據行的意思)行 對象的集合.

兩個屬性最常用的方法Add() Clear( )

兩個屬性表示數組,後面也可以加下標或行或列的名稱表示某個行或某個列

 

DataColumn的構造函數

DataColumn(“Name ”, 列的系統類型名 )

–       Name:表示列的名稱

–       列的系統類型名:因爲DataTable是內存中的表而非數據庫中的表,因此它的DataColumn的數據類型是System數據類型。可以用以下兩種方式獲得:

•         typeof(系統類型名稱) 設置 如:

DataColumn c1 = newDataColumn("id",typeof (int));

•         Type.GetType(“System.類型名”) 設置

DataColumn c2 = newDataColumn("name",Type .GetType ("System.String"));

 

 

  1. Ordinal:返回DataColumn在DataTable對象的列集合中的位置,該屬性只讀,如果DataColumn不在DataTable對象的Column集合中,返回-1

 

  1. 設置是否允許爲空    AllowDBNull
  2. 設置唯一性   Unique
  3. 只讀屬性 ReadOnly
  4. 最大長度 MaxLength
  5. 設置爲自動增長的標識列

①    AutoIncrement  是否允許自動增長

②    AutoIncrementSeed 自動增長的種子(初始值)

③    AutoIncrementStep 自動增長的步長

  1. 設置默認值屬性 DefaultValue

 

創建新行:

DataRow r1 =t1.NewRow ();

•         爲行中某個列逐個賦值:

–       行對象名稱[列的索引值] =表達式;

–       行對象名稱[“列的name名”]=表達式;

 

 

DataTable的LoadDataRow 方法:

 LoadDataRow(Object[] values, Boolean  fAcceptChanges)

–       作用:查找和更新特定行。如果找不到任何匹配行

                 則使用給定值創建新行。

–       通過調用該方法可以向表中添加一整行數據,不需

    要逐個字段的賦值操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章