溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ADO.NET DataSet使用技巧有哪些

發(fā)布時間:2021-11-03 14:20:05 來源:億速云 閱讀:122 作者:小新 欄目:編程語言

小編給大家分享一下ADO.NET DataSet使用技巧有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1.ADO.NET DataSet使用強類型的好處

DataSet 的另一個好處是可被繼承以創(chuàng)建一個強類型 DataSet。強類型 DataSet 的好處包括設(shè)計時類型檢查,以及 Microsoft Visual Studio .NET 用于強類型 DataSet 語句結(jié)束所帶來的好處。修改了 DataSet 的架構(gòu)或關(guān)系結(jié)構(gòu)后,就可以創(chuàng)建一個強類型 DataSet,把行和列作為對象的屬性公開,而不是作為集合中的項公開。例如,不公開客戶表中行的姓名列,而公開 Customer 對象的 Name 屬性。類型化 DataSet 從 DataSet 類派生,因此不會犧牲 DataSet 的任何功能。也就是說,類型化 DataSet 仍能遠(yuǎn)程訪問,并作為數(shù)據(jù)綁定控件(例如 DataGrid)的數(shù)據(jù)源提供。如果架構(gòu)事先不可知,仍能受益于通用 DataSet 的功能,但卻不能受益于強類型 DataSet 的附加功能。

2.ADO.NET DataSet使用中處理強類型的空引用

使用強類型 DataSet 時,可以批注 DataSet 的 XML 架構(gòu)定義語言 (XSD) 架構(gòu),以確保強類型 DataSet 正確處理空引用。nullValue 批注使您可用一個指定的值 String.Empty 代替 DBNull、保留空引用或引發(fā)異常。選擇哪個選項取決于應(yīng)用程序的上下文。默認(rèn)情況下,如果遇到空引用,就會引發(fā)異常。

有關(guān)更多信息,請參閱 Working with a Typed DataSet。

3.ADO.NET DataSet使用刷新數(shù)據(jù)

如果想用服務(wù)器上的更新值刷新 DataSet 中的值,就使用 DataAdapter.Fill。如果有在 DataTable 上定義的主鍵,DataAdapter.Fill 會根據(jù)主鍵進行新行匹配,并且當(dāng)更改到現(xiàn)有行時應(yīng)用服務(wù)器上的值。即使刷新之前修改了它們,刷新行的 RowState 仍被設(shè)置為 Unchanged。注意,如果沒有為 DataTable 定義主鍵,DataAdapter.Fill 就用可能重復(fù)的主鍵值添加新行。

如果想用來自服務(wù)器的當(dāng)前值刷新表,并同時保留對表中的行所做的任何更改,必須首先用 DataAdapter.Fill 填充表,并填充一個新的 DataTable,然后用 preserveChanges 值 true 把 DataTableMerge 到 DataSet 中。

4.在 DataSet 中搜索數(shù)據(jù)

在 DataSet 中查詢與特定條件相匹配的行時,可以利用基于索引的查找提高搜索性能。當(dāng)把 PrimaryKey 值賦給 DataTable 時,會創(chuàng)建一個索引。當(dāng)給 DataTable 創(chuàng)建 DataView 時,也會創(chuàng)建一個索引。下面是一些利用基于索引進行查找的技巧。

◆如果對組成 DataTable 的 PrimaryKey的列進行查詢,要使用 DataTable.Rows.Find 而不是 DataTable.Select。
◆對于涉及到非主鍵列的查詢,可以使用 DataView 為數(shù)據(jù)的多個查詢提高性能。當(dāng)把排序順序應(yīng)用到 DataView 時,就會建立一個搜索時使用的索引。DataView 公開 Find 和 FindRows 方法,以便查詢基礎(chǔ) DataTable 中的數(shù)據(jù)。
◆如果不需要表的排序視圖,仍可以通過為 DataTable 創(chuàng)建 DataView 來利用基于索引的查找。注意,只有對數(shù)據(jù)執(zhí)行多個查詢操作時,這樣才會帶來好處。如果只執(zhí)行單一查詢,創(chuàng)建索引所需要的處理就會降低使用索引所帶來的性能提升。

以上是“ADO.NET DataSet使用技巧有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI