進行ADO MoveNext掃描學(xué)習(xí)思考
本文覆蓋了DataSet的特性、結(jié)構(gòu)、以及具體的使用方法等等,相信這些對您掌握這個ADO MoveNext中核心成員是有所幫助,必須設(shè)置相應(yīng)屬性上的Concurrency Mode值為Fixed。我們先對實體類的屬性進行修改,讓其支持開放式并發(fā),然后來模擬一個并發(fā)的序列,看看怎么來處理并發(fā)沖突。
數(shù)據(jù)的內(nèi)存中表示形式在 ADO 中,數(shù)據(jù)的內(nèi)存中表示形式為記錄集。在 ADO MoveNext 中,它為數(shù)據(jù)集。它們之間有重要的差異。表的個數(shù)記錄集看起來像單個表。如果記錄集將包含來自多個數(shù)據(jù)庫表的數(shù)據(jù),則它必須使用 JOIN 查詢,將來自各個數(shù)據(jù)庫表的數(shù)據(jù)組合到單個結(jié)果表中。
相反,數(shù)據(jù)集是一個或多個表的集合。數(shù)據(jù)集內(nèi)的表稱為數(shù)據(jù)表;明確地說,它們是ADO MoveNext對象。如果數(shù)據(jù)集包含來自多個數(shù)據(jù)庫表的數(shù)據(jù),它通常將包含多個 DataTable 對象。即,每個 DataTable 對象通常對應(yīng)于單個數(shù)據(jù)庫表或視圖。這樣,數(shù)據(jù)集可以模仿基礎(chǔ)數(shù)據(jù)庫的結(jié)構(gòu)。
數(shù)據(jù)集通常還包含關(guān)系。數(shù)據(jù)集內(nèi)的關(guān)系類似于數(shù)據(jù)庫中的外鍵關(guān)系,即它使多個表中的行彼此關(guān)聯(lián)。例如,如果數(shù)據(jù)集包含一個有關(guān)投資者的表和另一個有關(guān)每個投資者的股票購買情況的表,則數(shù)據(jù)集可能還包含一個關(guān)系來連接投資者表的各個行和購買表的對應(yīng)行。#t#
由于數(shù)據(jù)集可以保存多個獨立的表并維護有關(guān)表之間關(guān)系的信息,因此它可以保存比記錄集豐富得多的數(shù)據(jù)結(jié)構(gòu),包括自關(guān)聯(lián)的表和具有多對多關(guān)系的表。數(shù)據(jù)導(dǎo)航和游標(biāo)在 ADO 中,您使用 ADO MoveNext 方法順序掃描記錄集的行。在 ADO.NET 中,行表示為集合,因此您可以像依次通過任何集合那樣依次通過表,.
或通過序號索引或主鍵索引訪問特定行。DataRelation 對象維護有關(guān)主記錄和詳細(xì)資料記錄的信息,并提供方法使您可以獲取與正在操作的記錄相關(guān)的記錄。例如,從 Investor 表的“Nate Sun”的行開始,可以定位到 Purchase 表中描述其購買情況的那組行。
“游標(biāo)”是數(shù)據(jù)庫元素,它控制記錄導(dǎo)航、更新數(shù)據(jù)的能力和其他用戶對數(shù)據(jù)庫所做更改的可見性。ADO MoveNext 不具有固有的游標(biāo)對象,而是包含提供傳統(tǒng)游標(biāo)功能的數(shù)據(jù)類。例如,在 ADO.NET DataReader 對象中提供只進、只讀游標(biāo)的功能。有關(guān)游標(biāo)功能的更多信息,請參見數(shù)據(jù)訪問技術(shù)。