十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
小編給大家分享一下ADO.NET DataSet使用技巧有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)公司主營(yíng)納雍網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā)公司,納雍h5微信平臺(tái)小程序開(kāi)發(fā)搭建,納雍網(wǎng)站營(yíng)銷推廣歡迎納雍等地區(qū)企業(yè)咨詢
1.ADO.NET DataSet使用強(qiáng)類型的好處
DataSet 的另一個(gè)好處是可被繼承以創(chuàng)建一個(gè)強(qiáng)類型 DataSet。強(qiáng)類型 DataSet 的好處包括設(shè)計(jì)時(shí)類型檢查,以及 Microsoft Visual Studio .NET 用于強(qiáng)類型 DataSet 語(yǔ)句結(jié)束所帶來(lái)的好處。修改了 DataSet 的架構(gòu)或關(guān)系結(jié)構(gòu)后,就可以創(chuàng)建一個(gè)強(qiáng)類型 DataSet,把行和列作為對(duì)象的屬性公開(kāi),而不是作為集合中的項(xiàng)公開(kāi)。例如,不公開(kāi)客戶表中行的姓名列,而公開(kāi) Customer 對(duì)象的 Name 屬性。類型化 DataSet 從 DataSet 類派生,因此不會(huì)犧牲 DataSet 的任何功能。也就是說(shuō),類型化 DataSet 仍能遠(yuǎn)程訪問(wèn),并作為數(shù)據(jù)綁定控件(例如 DataGrid)的數(shù)據(jù)源提供。如果架構(gòu)事先不可知,仍能受益于通用 DataSet 的功能,但卻不能受益于強(qiáng)類型 DataSet 的附加功能。
2.ADO.NET DataSet使用中處理強(qiáng)類型的空引用
使用強(qiáng)類型 DataSet 時(shí),可以批注 DataSet 的 XML 架構(gòu)定義語(yǔ)言 (XSD) 架構(gòu),以確保強(qiáng)類型 DataSet 正確處理空引用。nullValue 批注使您可用一個(gè)指定的值 String.Empty 代替 DBNull、保留空引用或引發(fā)異常。選擇哪個(gè)選項(xiàng)取決于應(yīng)用程序的上下文。默認(rèn)情況下,如果遇到空引用,就會(huì)引發(fā)異常。
有關(guān)更多信息,請(qǐng)參閱 Working with a Typed DataSet。
3.ADO.NET DataSet使用刷新數(shù)據(jù)
如果想用服務(wù)器上的更新值刷新 DataSet 中的值,就使用 DataAdapter.Fill。如果有在 DataTable 上定義的主鍵,DataAdapter.Fill 會(huì)根據(jù)主鍵進(jìn)行新行匹配,并且當(dāng)更改到現(xiàn)有行時(shí)應(yīng)用服務(wù)器上的值。即使刷新之前修改了它們,刷新行的 RowState 仍被設(shè)置為 Unchanged。注意,如果沒(méi)有為 DataTable 定義主鍵,DataAdapter.Fill 就用可能重復(fù)的主鍵值添加新行。
如果想用來(lái)自服務(wù)器的當(dāng)前值刷新表,并同時(shí)保留對(duì)表中的行所做的任何更改,必須首先用 DataAdapter.Fill 填充表,并填充一個(gè)新的 DataTable,然后用 preserveChanges 值 true 把 DataTableMerge 到 DataSet 中。
4.在 DataSet 中搜索數(shù)據(jù)
在 DataSet 中查詢與特定條件相匹配的行時(shí),可以利用基于索引的查找提高搜索性能。當(dāng)把 PrimaryKey 值賦給 DataTable 時(shí),會(huì)創(chuàng)建一個(gè)索引。當(dāng)給 DataTable 創(chuàng)建 DataView 時(shí),也會(huì)創(chuàng)建一個(gè)索引。下面是一些利用基于索引進(jìn)行查找的技巧。
◆如果對(duì)組成 DataTable 的 PrimaryKey的列進(jìn)行查詢,要使用 DataTable.Rows.Find 而不是 DataTable.Select。
◆對(duì)于涉及到非主鍵列的查詢,可以使用 DataView 為數(shù)據(jù)的多個(gè)查詢提高性能。當(dāng)把排序順序應(yīng)用到 DataView 時(shí),就會(huì)建立一個(gè)搜索時(shí)使用的索引。DataView 公開(kāi) Find 和 FindRows 方法,以便查詢基礎(chǔ) DataTable 中的數(shù)據(jù)。
◆如果不需要表的排序視圖,仍可以通過(guò)為 DataTable 創(chuàng)建 DataView 來(lái)利用基于索引的查找。注意,只有對(duì)數(shù)據(jù)執(zhí)行多個(gè)查詢操作時(shí),這樣才會(huì)帶來(lái)好處。如果只執(zhí)行單一查詢,創(chuàng)建索引所需要的處理就會(huì)降低使用索引所帶來(lái)的性能提升。
以上是“ADO.NET DataSet使用技巧有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!