版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本文由 nczhyou 貢獻(xiàn)doc文檔可能在 WAP 端瀏覽體驗(yàn)不佳。建議您優(yōu)先選擇 TXT ,或下載源文件到本機(jī)查看。 中文文檔 -數(shù)據(jù)訪問應(yīng)用程序塊【 Enterprise Library 4.0 中文文檔 -數(shù)據(jù)訪問應(yīng)用程 序塊 【 0】 簡介 企業(yè)庫數(shù)據(jù)訪問應(yīng)用程序塊簡化了開發(fā)任務(wù), 實(shí)現(xiàn)一般的數(shù)據(jù)存取功 能。 應(yīng) 用程序可以使用這個(gè)應(yīng)用程序塊在各種情況下, 如讀數(shù)據(jù)顯示, 通過應(yīng)用層傳遞數(shù)據(jù),并 提交修改數(shù)據(jù)備份到數(shù)據(jù)庫系統(tǒng)。該應(yīng)用程 序塊同時(shí)支持存儲(chǔ)過程和 SQL 語句。一般的事 務(wù), 如連接管理, 創(chuàng) 建和緩存參數(shù), 封裝在應(yīng)用程序塊的方法。 換句話說, 數(shù)據(jù)訪問應(yīng)用 程 序塊提
2、供了最常用的 , 基于 ADO.NET 的簡單易用的類功能,這提 高開發(fā)人員的工作效率。 ADO.NET 2.0 提 供 了 一 些 類 諸 如 DbCommand 類 和 DbConnection 類 ; 這些類有助于 抽象出數(shù)據(jù)提供來自任何特定的數(shù) 據(jù)庫執(zhí)行。 數(shù)據(jù)訪問應(yīng)用程序塊可以利用這些類和提供了 一個(gè)模式, 進(jìn)一步支持封裝的數(shù)據(jù)庫類型的特定功能, 如參數(shù)發(fā)現(xiàn)和類型轉(zhuǎn)換。 因此, 應(yīng) 用程序也可以從一個(gè)數(shù)據(jù)庫移植到另一個(gè)類型而不需要修改 客戶端代碼。 數(shù)據(jù)訪問應(yīng)用程序 塊包括一個(gè)抽象基類,它定義一個(gè)統(tǒng) 一的接口,并提供了 ADO.NET 2.0 中所需要的數(shù)據(jù)訪 問方法。 該 應(yīng) 用
3、程 序 塊 還 包 括 特 有 的 類 如 Microsoft SQL Server , Microsoft SQL Server CE 和 Oracle 。這些類提供操作的特殊的 數(shù)據(jù)庫類型。應(yīng)用程序塊 編寫的一種類型的數(shù)據(jù)庫的訪問代碼,如 SQL Server ,看起來大致相同與另一種類型的數(shù) 據(jù)庫的訪問代碼, 如 Oracle。 數(shù) 據(jù) 訪 問應(yīng) 用程序 塊 的 另一 個(gè)特點(diǎn) 是 應(yīng) 用程 序 代碼 可 能 由一 個(gè) ADO.NET 連接串名字提到特殊數(shù)據(jù)庫,如“客戶”或“庫存” 。應(yīng) 用 程 序 代 碼 可 以 指 定 命 名 數(shù) 據(jù) 庫 的 實(shí) 例 , 并 傳 遞 此 參 數(shù) 給 D
4、atabaseFactory.CreateDatabase 方法。每一個(gè)被命名數(shù)據(jù)庫, 其連接字符串存儲(chǔ)在一個(gè) 配置文件里。 通過設(shè)置配置文件, 開發(fā)人員 可以使用自己的應(yīng)用程序運(yùn)行于不同的數(shù)據(jù)庫之 上。 數(shù)據(jù)訪問應(yīng)用程序塊提供了以下優(yōu)點(diǎn):它提供的功能基于 ADO.NET 2.0 ,您可以單獨(dú) 使用 ADO.NET 的 功能與應(yīng)用程序塊的功能。 它減少了執(zhí)行通用數(shù)據(jù)訪問的任務(wù)所需要的代 碼。 它有助于在一個(gè)應(yīng)用程序和整個(gè)企業(yè)中保持?jǐn)?shù)據(jù)訪問的一致性。 它降低了更換數(shù)據(jù)庫 的成本。 它可以減輕開發(fā)人員學(xué)習(xí)對(duì)于不同類型的數(shù)據(jù)庫的開發(fā)成本。 它減少了大量的代 碼, 開發(fā)人員在編寫應(yīng)用程序時(shí), 不需要為
5、不同類 型的數(shù)據(jù)庫編寫單獨(dú)代碼。 = Library 中文文檔 -數(shù)據(jù)訪問應(yīng)用程序塊【 Enterprise Library 4.0 中文文檔 -數(shù)據(jù)訪問應(yīng) 用程序塊 【 1】 數(shù)據(jù)訪 問應(yīng)用程序塊簡介 本主題包括一系列簡短的部分提供了幫助您確定如 何使用數(shù)據(jù)訪問 應(yīng)用程序塊以適合您的要求。 本主題包含以下部分:常見情況 示例代碼 新 版本特點(diǎn),版本 3.1 和后來的 何時(shí)該使用數(shù)據(jù)訪問應(yīng)用程序塊何時(shí)該直接使用 ADO.NET 除本介紹材料,該文檔還包含了以下主題:使用數(shù)據(jù)訪問應(yīng) 用程序塊開發(fā)應(yīng)用程序。 此介紹如何配置應(yīng)用程序 塊, 如何準(zhǔn)備您的應(yīng)用程序使用數(shù)據(jù)訪問 應(yīng)用程序塊,應(yīng)用程序塊如
6、何與一個(gè)數(shù)據(jù)庫建立連接,以及處理參數(shù)和異常處理。 關(guān)鍵情 景。 本節(jié)演示如何使用應(yīng)用程序塊以執(zhí)行最典型的數(shù)據(jù)訪問任 務(wù)。 設(shè)計(jì)數(shù)據(jù)訪問應(yīng)用程序 塊。 本節(jié)介紹進(jìn)入設(shè)計(jì)和應(yīng)用程序塊的理由和 基礎(chǔ)理論。 擴(kuò)展和修改數(shù)據(jù)訪問應(yīng)用程序塊。 本節(jié)介紹如何擴(kuò)展應(yīng)用程序塊,加 入你自己的數(shù)據(jù)庫,并建議修改源代碼。 部署和操作。 本節(jié)介紹如何部署和更新應(yīng)用程序塊組件。它還包含有 關(guān)配置和 SQL Server 安全。 數(shù)據(jù) 存快速上手。 本節(jié)介紹如何安裝和配置的快速應(yīng)用, 包含了一系 列的演練, 演示如何使用數(shù) 據(jù)訪問塊。 常見情況 開發(fā)者在編寫應(yīng)用程序的時(shí)候經(jīng)常使用不同的數(shù)據(jù)庫。 因?yàn)檫@是共同 的, 開發(fā)者
7、會(huì)發(fā)現(xiàn)自己為每個(gè)應(yīng)用程序反復(fù)編寫相同的代碼。 此外, 這些應(yīng)用程序可能需要 與不同類型的數(shù)據(jù)庫。 雖然任務(wù)是相同的, 該 代碼必須加以調(diào)整, 以適應(yīng)不同類型的數(shù)據(jù)庫。 數(shù)據(jù)訪問應(yīng)用程序塊 解決這些問題提供了邏輯來執(zhí)行最常見的數(shù)據(jù)訪問任務(wù)。 開發(fā)者只需 要做到以下幾點(diǎn):創(chuàng)建數(shù)據(jù)庫對(duì)象。 提供命令的參數(shù),如果這是必要的。 調(diào)用適當(dāng)?shù)姆椒?。這些方法的效果能得到優(yōu)化。 他們是可移植的。 數(shù)據(jù)訪問應(yīng)用程序塊可移植到 SQL Server , SQL Server CE , 和 Oracle 數(shù)據(jù)庫。 它的目的是為解決開發(fā)者面對(duì)不同數(shù)據(jù)庫時(shí)編寫最 常見的任務(wù)。 這 些任務(wù)是根據(jù)情景安排。 每個(gè)情景給出了一
8、個(gè)例子, 模擬一個(gè)真實(shí)的應(yīng)用環(huán)境, 如檢索信息 的目錄或執(zhí)行金融交易,介紹 了數(shù)據(jù)庫功能的情況,并給出了代碼來完成這項(xiàng)任務(wù)。 安排 這些任務(wù)的目標(biāo), 根據(jù)設(shè)想是使代碼在一個(gè)部分中。 展示一個(gè)孤 立的方法沒有任何意義, 而 把它放在許多開發(fā)者都熟悉的應(yīng)用環(huán)境 中,提供了一個(gè)情 景設(shè)置的代碼,在這里他們可以 被最好地利用。 幾種設(shè)想如下:使用 DataReader 中檢索多行數(shù)據(jù) 使用一個(gè) DataSet 檢 索多行數(shù)據(jù) 執(zhí)行命令和檢索輸出參數(shù) 執(zhí)行命令和檢索一個(gè)單值項(xiàng)目 表演多個(gè)業(yè)務(wù)交易 從 SQL Server 檢索 XML 數(shù)據(jù) 使用 DataSet 對(duì)象更新的數(shù)據(jù)庫 欲了解更多有關(guān)所有這些
9、情 景,看到關(guān)鍵情景。 示例代碼下 列 代 碼 演 示 了 如 果 調(diào) 用 存 儲(chǔ) 過 程 返 回 一 個(gè) DataSet view plaincopy to clipboardprint? Database db = DatabaseFactory.CreateDatabase(; DbCommand dbCommand =db.GetStoredProcCommand("GetProductsByCategory" / Retrieve products from category 7. db.AddInParameter(dbCommand, DbType.Int32
10、, 7; DataSet productDataSet = db.ExecuteDataSet(dbCommand; Database db = DatabaseFactory.CreateDatabase(; DbCommand dbCommand = "CategoryID",db.GetStoredProcCommand("GetProductsByCategory" / Retrieve products from category 7. db.AddInParameter(dbCommand, DbType.Int32, 7; DataSet
11、productDataSet = db.ExecuteDataSet(dbCommand; view plaincopy to clipboardprint? Dim db As Database = DatabaseFactory.CreateDatabase( Dim dbCommand As DbCommand = "CategoryID", db.GetStoredProcCommand("GetProductsByCategory" ' Retrieve products from the category 7. db.AddInPar
12、ameter(dbCommand, "CategoryID",DbType.Int32, 7 Dim productDataSet As DataSet = =db.ExecuteDataSet(dbCommand Dim db As Database = DatabaseFactory.CreateDatabase( Dim dbCommand As DbCommand =db.GetStoredProcCommand("GetProductsByCategory" ' Retrieve products from the category 7
13、. db.AddInParameter(dbCommand, DbType.Int32, 7 Dim productDataSet As DataSet = = "CategoryID",db.ExecuteDataSet(dbCommand 新版本特點(diǎn), 版本 3.1 和后來的 一般來說, 應(yīng)用程序 可以使用較早版本的數(shù)據(jù)訪問應(yīng)用程序塊, 而不 需要任何代碼更改。 它可能只需要更新新的 程序集,并更新配置文件 以引用正確版本 的組件。 然而, 新版本數(shù)據(jù)訪問應(yīng)用程序塊相 對(duì)于 3.1 版 (May 2007 有了一些改變 , 如果您升級(jí)到最新版本的企業(yè)庫 , 這可能會(huì)影響
14、到 舊 版本應(yīng)用程序。 以下各節(jié)描述了這些變化。 .NET Framework 2.0 的 TransactionScope 類 要充分利用的 .NET Framework 2.0 的 TransactionScope 類, 從 Enterprise Library 3.1 版開始已經(jīng)改變了一些數(shù)據(jù)庫類的方法。 這些 方 法 , 如 ExecuteNonQuery , 修 改 一 個(gè) TransactionScope 實(shí) 例 使 用 GetOpenConnection 方法替代 GetConnection 方法。 如果 您寫了一個(gè)繼承于數(shù)據(jù)庫的類, 則需要注意這些變化重寫你的代碼。 如果您繼續(xù)
15、使用 GetConnection 方法,您將收到一個(gè) 編譯警告。此 外,如果您的應(yīng)用程序使用 ExecuteXmlReader 方法,您可能需要 重寫你的 代碼進(jìn)行測試,以查看 TransactionScope 事例是否在關(guān) 閉連接之前是活躍的。 欲了解更 多信息, 請(qǐng)參閱使用 TransactionScope 類。 對(duì)于一個(gè)例 子, 如何使用 ExecuteXMLReader 的 方法,見檢索多條記錄為 XML 。 SQL Server Compact Edition Enterprise Library 3.1 May 2007,以及后來的版本都支持 SQL Server Compact
16、Edition (CE 。 SQL Server CE 提供了用 于臺(tái)式電腦和移動(dòng)應(yīng)用程序的關(guān)系數(shù)據(jù)庫的基本功能, 它需要有一個(gè) 本地?cái)?shù)據(jù)存 儲(chǔ),但不需要全功能的 SQL Server 。欲了解更多信息, 請(qǐng)參閱“使用的 SQL Server CE ” 建立一個(gè)數(shù)據(jù)庫對(duì)象。 何時(shí)該使用數(shù)據(jù)訪問應(yīng)用程序塊 數(shù)據(jù)訪問應(yīng)用程序塊包含了少量的 方法, 簡化了最常用的方法來訪問 數(shù)據(jù)庫。每種方法概括了邏輯檢索需要的數(shù)據(jù)和管理連 接到數(shù)據(jù)庫。 如果您的應(yīng)用程序使用標(biāo)準(zhǔn)的數(shù)據(jù)訪問技術(shù) , 您應(yīng)該考慮使用應(yīng)用程 序塊。 該 應(yīng)用程序塊作為 ADO.NET 的補(bǔ)充,使您可以為不同的數(shù)據(jù)庫類型使用相同的代碼。它包
17、括為 SQL Server 和 Oracle 數(shù)據(jù)庫的類。 這些類包含代碼, 提供數(shù)據(jù)庫的具體實(shí)現(xiàn)的功能, 如參數(shù)處理和游標(biāo)。 此外, GenericDatabase 類允許您使 用的應(yīng)用程序塊的任何配置 ADO.NET DbProviderFactory 對(duì)象。 您可以擴(kuò)展應(yīng)用程序塊, 增 加了新的數(shù)據(jù)庫類型, 其中包括數(shù)據(jù)庫的特定功能, 或提供自定義的 執(zhí) 行 現(xiàn) 有 的 數(shù) 據(jù) 庫 。 唯 一 的 要 求 是 , 一 個(gè) ADO.NET DbProviderFactory 類存在的目標(biāo)數(shù)據(jù)庫。 何 時(shí)該直接使用 ADO.NET 數(shù)據(jù)訪問應(yīng)用程序塊是 ADO.NET 的一個(gè)補(bǔ)充而不是一個(gè)替
18、代。 其 提 供了簡單和方便,同時(shí)幫助開發(fā)者使用 ADO.NET 的最佳做法。 如果您的應(yīng)用程序需要檢索 數(shù)據(jù)的方式在一個(gè)專門的, 或者如果您的代碼需要定制, 以充分利用 特有的功能特定的數(shù)據(jù) 庫, 使用 ADO.NET 可能更適合您。 中文文檔 -數(shù)據(jù)訪問應(yīng)用程序塊 【 Enterprise Library 4.0 中文文檔 -數(shù)據(jù)訪問應(yīng)用程序塊【 2】數(shù)據(jù)訪 問應(yīng)用程序塊簡介 接下來的部分是如何配置數(shù) 據(jù)訪問應(yīng)用程序塊。 你可以使用配置控制 臺(tái)或者在 visual studio 的編輯窗口里配置數(shù)據(jù) 訪問應(yīng)用程序塊的節(jié) 點(diǎn)。按照便是的 schema 配置數(shù)據(jù)訪問應(yīng)用程序塊,請(qǐng)參照數(shù)據(jù)訪 問
19、 應(yīng)用程序塊里的源 Schema。 添加數(shù)據(jù)訪問應(yīng)用程序塊 1、打開配置文件,需要更多信息, 請(qǐng)參考配置企業(yè)庫。 2、右鍵點(diǎn)擊 Application Configuration,點(diǎn)擊 New,然后點(diǎn)擊 Data Access Application Block。 下面的部分是如何添加一個(gè)默認(rèn)的數(shù)據(jù)庫實(shí)例。這 個(gè)實(shí)例是在調(diào)用 DatabaseFactory 時(shí)被使用。 CreateDatabase 方法沒有實(shí)例名。 配置默認(rèn) 數(shù)據(jù)庫: 1、在右面板,使用 DefaultDatabase 屬性。 2、鍵入默認(rèn)數(shù)據(jù)庫的連接字符串名 或者在下拉列表中選擇。 默認(rèn)的 鏈接字符串名字叫 Connecti
20、onString。 3 、 設(shè) 置 Name 屬 性 中 鍵 入 新 的 名 字 。 默 認(rèn) 的 名 字 叫 ConnectionString。 4、 在 ProviderName 屬性區(qū)域, 指定改變的提供者名字。 鍵入提供 者名字或者在下拉列表中選擇。 默認(rèn)的提供者 名字是 System.Data.SqlClient 。 ProviderName DBProviderFactory 類中提供一個(gè)提供者 名字。 下面的部分是如何讓創(chuàng)建一個(gè)數(shù)據(jù)庫實(shí)例的連接字符串。 當(dāng)配置工具 保存了連接字 符串,總體上鏈接字符串和鏈接信息是一系列名字 -值 的關(guān)系。比如,如果你使用配置工具 傳 教 一 個(gè) 新
21、 的 默 認(rèn) 值 , 應(yīng) 該 如 下 的 字 符 串 : Database=Database;Server=(localSQLEXPRESS;Integrated Security=SSPI; 配置一個(gè)連 接字符串 1、點(diǎn)擊 ConnectionString 節(jié)點(diǎn)。 2、設(shè)置 Name 屬性并鍵入一個(gè)新名字。只是 ConnectionString 節(jié) 屬 性 必 須 在點(diǎn)的名字。 默認(rèn)的名字是 ConnectionString。 3、 在 ProviderName 屬性塊, 改變提供 者的名字。 鍵入名字或者在 下拉列表中選擇。 默認(rèn)的提供者名字是 System.Data.SqlClient。
22、 ProviderName 屬性必須在 DBProviderFactory 類中提供一個(gè)提供 者名字。 4、必須更新 ConnectionString 屬性。例如,這個(gè)連接字符串指定 了本地 SQL Server Express 作為數(shù) 據(jù) 庫 實(shí) 例 , 使 用 itegrated Windows 安 全 策 略 。 Database=Database;Server=(localSQLEXPRESS;Integrated Security=SSPI 下面的部分 是 如何配置 SQL Server CE 數(shù)據(jù)庫。如果名字在配置 里并且你的應(yīng)用程序一直使用一個(gè)單 一文件這個(gè)步驟才適用。 跟多關(guān) 于 SQL Server CE 的信息,請(qǐng)參考創(chuàng)建一個(gè)數(shù)據(jù)庫對(duì)象。 配置 SQL Server CE:1、右鍵點(diǎn)擊 Custom Provider Mappings, 點(diǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年特定項(xiàng)目融資保密協(xié)議范本
- 2024年頂管施工合作協(xié)議模板
- 2024年新汽車抵押借款協(xié)議示例
- 反擔(dān)保借款協(xié)議模板:公司風(fēng)險(xiǎn)共擔(dān)條款
- 2024年貨車出租協(xié)議樣本
- 2024年進(jìn)口天然石材荒料銷售協(xié)議
- 2024年創(chuàng)新型醫(yī)療器械研發(fā)合作協(xié)議
- 2024商業(yè)交易促成居間協(xié)議樣本
- 2024年度跨國商業(yè)合作協(xié)議模板
- 2024年工業(yè)產(chǎn)品銷售代理規(guī)范協(xié)議
- 安全使用家電和煤氣課件
- 《GPS測量與數(shù)據(jù)處理》-第3講 全球定位系統(tǒng)組成及信號(hào)結(jié)構(gòu)
- 前置胎盤詳解課件
- 達(dá)爾文的“進(jìn)化論”課件
- 國開電大《建筑測量》實(shí)驗(yàn)報(bào)告1
- 《火災(zāi)自動(dòng)報(bào)警系統(tǒng)設(shè)計(jì)規(guī)范》
- 南京市小學(xué)一年級(jí)語文上學(xué)期期中試卷
- 合肥工業(yè)大學(xué)-孫冠東-答辯通用PPT模板
- 國開作業(yè)《管理學(xué)基礎(chǔ)》管理實(shí)訓(xùn):第一章訪問一個(gè)工商企業(yè)或一位管理者參考(含答案)280
- 膀胱過度活動(dòng)癥的診斷與治療
- 幼兒園繪本故事:《神奇雨傘店》 課件
評(píng)論
0/150
提交評(píng)論