關(guān)于A(yíng)DO.NET對(duì)象DataTable基本用法講解
ADO.NET對(duì)象還是比較常用的,于是我研究了一下ADO.NET對(duì)象,在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用。ADO.NET可以在與數(shù)據(jù)庫(kù)斷開(kāi)連接的方式下通過(guò)DataSet或DataTable對(duì)象進(jìn)行數(shù)據(jù)處理,當(dāng)需要更新數(shù)據(jù)時(shí)才重新與數(shù)據(jù)源進(jìn)行連接,并更新數(shù)據(jù)源。DataTable對(duì)象表示保存在本機(jī)內(nèi)存中的表,它提供了對(duì)表中行列數(shù)據(jù)對(duì)象的各種操作。
#T#可以直接將數(shù)據(jù)從數(shù)據(jù)庫(kù)填充到DataTable對(duì)象中,也可以將DataTable對(duì)象添加到現(xiàn)有的DataSet對(duì)象中。在斷開(kāi)連接的方式下,DataSet對(duì)象提供了和關(guān)系數(shù)據(jù)庫(kù)一樣的關(guān)系數(shù)據(jù)模型,代碼中可以直接訪(fǎng)問(wèn)DataSet對(duì)象中的DataTable對(duì)象,也可以添加、刪除ADO.NET對(duì)象DataTable。ADO.NET對(duì)象SqlDataAdapter通過(guò)SelectCommand、InsertCommand、UpdateCommand和 DeleteCommand屬性為后臺(tái)數(shù)據(jù)庫(kù)提供對(duì)應(yīng)的操作命令,并傳遞需要的參數(shù)。一般情況下,只需要提供SELECT語(yǔ)句和連接字符串創(chuàng)建 SqlDataAdapter對(duì)象,然后利用SqlCommandBuilder對(duì)象生成InsertCommand、UpdateCommand和 DeleteCommand屬性。
1.創(chuàng)建DataTable對(duì)象
可以通過(guò)以下兩種方式創(chuàng)建DataTable對(duì)象:
1) 通過(guò)DataTable類(lèi)的構(gòu)造函數(shù)創(chuàng)建DataTable對(duì)象,例如:
- DataTable table = new DataTable();
2) 通過(guò)DataSet的Tables對(duì)象的Add方法創(chuàng)建DataTable對(duì)象,例如:
- DataSet dataset = new DataSet();
- DataTable table = dataset.Tables.Add("MyTableName");
2. 在DataTable對(duì)象中添加列
在DataTable對(duì)象中添加列的最常用的方法是通過(guò)DataTable對(duì)象的Column屬性中的Add方法。添加后的每一列都是一個(gè)DataColumn對(duì)象。
3. 設(shè)置DataTable對(duì)象的主鍵
關(guān)系數(shù)據(jù)庫(kù)中的表一般都有一個(gè)主鍵,用來(lái)惟一標(biāo)識(shí)表中的每一行記錄。通過(guò)DataTable對(duì)象的PrimaryKey屬性可以設(shè)置Datatable的主鍵。主鍵可以是一個(gè)或者多個(gè)DataColumn對(duì)象組成的數(shù)組。例如:
- DataColumn[] key = new DataColumn[1];//dt是一個(gè)DataTable對(duì)象
- key[0] = dt.Columns[0];
- dt.PrimaryKey = key;
4. 在DataTable對(duì)象中創(chuàng)建行
DataTable對(duì)象的每一行都是一個(gè)DataRow對(duì)象,所以創(chuàng)建行時(shí)可以先利用DataTable對(duì)象的NewRow方法創(chuàng)建一個(gè)DataRow對(duì)象,并設(shè)置新行中各列的數(shù)據(jù),然后利用Add方法將DataRow對(duì)象添加到表中
5. 將SQL Server數(shù)據(jù)庫(kù)中的表填充到DataTable中
除了可以直接創(chuàng)建ADO.NET對(duì)象DataTable的行列信息外,也可以通過(guò)DateAdapter對(duì)象的Fill方法將SQL Server數(shù)據(jù)庫(kù)中的表填充到DataTable對(duì)象中。