講解與分析DAO.NET DataTable對(duì)象
經(jīng)過長時(shí)間學(xué)習(xí)DAO.NET,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。
1.從表中刪除或移除一個(gè)數(shù)據(jù)行
當(dāng)用戶對(duì)表中的數(shù)據(jù)進(jìn)行處理時(shí),有時(shí)需要從表中移除(remove)一行或多行。但是要注意, 移除(removing)一行與將一行作為Deleted刪除不同。移除一行意味著物理地將行從數(shù)據(jù)集中去掉。這種差別在后面討論保持表或數(shù)據(jù)存儲(chǔ)中數(shù)值時(shí)很重要。
要從表中移除一行,可以使用它的索引或?qū)嶋H實(shí)例,調(diào)用該表RowsCollection的Remove方法
- dt.Rows.Remove(3);
在調(diào)用這個(gè)方法后,指定的行將被從行集合中移除
- dt.Rows[3].Delete
將一行標(biāo)記為Deleted表示,當(dāng) DAO.NET DataTable對(duì)象的AcceptChanges方法被調(diào)用時(shí),該行將被從表中移除。從而,該行的RowState屬性為Deleted。相反,如果調(diào)用RejectChanges方法,這一行的RowState屬性將恢復(fù)到在被標(biāo)記為Deleted之前的狀態(tài)。
2.處理表的數(shù)據(jù)過濾
- DataRow[] CurrRows = dt.Select(條件);
Select方法使得用戶可以在三個(gè)元素的基礎(chǔ)上對(duì)行進(jìn)行檢索:過濾器表達(dá)式、排序次序和按DataViewState。
3.數(shù)據(jù)集Datset
數(shù)據(jù)集提供了兩個(gè)基本的構(gòu)造函數(shù)
- public DataSet()
- public DataSet(string DataSetName)
4.給數(shù)據(jù)集添加一個(gè)數(shù)據(jù)表
- DataTable dt= new DataTable("User");
- DataSet ds=new DataSet();
- ds.Tables.Add(dt);
5.在兩個(gè)表之間添加關(guān)系
由于數(shù)據(jù)集(DataSet)可以包含多個(gè)DAO.NET DataTable對(duì)象,因此必須有方法來將表彼此關(guān)聯(lián)起來。這是在表之間進(jìn)行導(dǎo)航和返回相關(guān)數(shù)值所必需的。
DataRelation(數(shù)據(jù)關(guān)系)的基本自變量是關(guān)系中作為主關(guān)鍵字和外部關(guān)鍵字的兩列,以及DataRelation的名稱。然后這個(gè)名稱可以用于導(dǎo)航或檢索數(shù)值時(shí)使用。
- ds.Relations.Add(...);
- dr = new DataRelation(...);
- ds.Relations.Add(dr);
- Managed Provider
Command、Connection和DataReader
Command、Connection和DataReader代表了ADO模型的核心元素。Connection懂得如何連接特定的數(shù)據(jù)存儲(chǔ)。微軟公司在NGWS框架中提供了兩個(gè)Connection對(duì)象:SQLConnection和ADOConnection。SQLConnection懂得如何連接Microsoft SQL Server數(shù)據(jù)庫。
6.設(shè)置表和列映射
- workDSCMD.TableMappings.Add("Table", "MyAuthors");//表映射
- workDSCMD.TableMappings[0].ColumnMappings.Add( "au_id", "AuthorID"); //列映射
還有好多其它的方法,只是今天重看這方面的資料,寫下來當(dāng)成一個(gè)以后的資料文檔,以后還會(huì)細(xì)致的為大家介紹關(guān)于DAO.NET DataTable對(duì)象方面的知識(shí)!
【編輯推薦】