熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Data Access Application Block 概述

2022-06-13   來源: Java核心技術 

  簡介
  
  您是否正在從事 NET 應用程序數據訪問代碼的設計和開發?您是否覺得自己總是在反復編寫相同的數據訪問代碼?您是否曾經將數據訪問代碼包裝在 Helper 函數中以便能夠在一行中調用存儲過程?如果是那麼 Microsoft? Data Access Application Block for NET 正是為您設計的
  
  Data Access Application Block 將訪問 Microsoft SQL Server? 數據庫的性能和資源管理方面的最佳經驗封裝在一起您可以很方便地在自己的 NET 應用程序中將其作為構造塊使用從頁減少了需要創建測試和維護的自定義代碼的數量
  
  尤其是Data Access Application Block 可以幫助您
  
  調用存儲過程或 SQL 文本命令
  指定參數詳細信息
  返回 SqlDataReaderDataSet 或 XmlReader 對象
  例如在引用了 Data Access Application Block 的應用程序中您可以簡單地在一行代碼中調用存儲過程並生成 DataSet如下所示
  
  [Visual Basic]
  Dim ds As DataSet = SqlHelperExecuteDataset( _
  connectionString _
  CommandTypeStoredProcedure _
  getProductsByCategory _
  new SqlParameter(@CategoryID categoryID))
  
  [C#]
  DataSet ds = SqlHelperExecuteDataset(
  connectionString
  CommandTypeStoredProcedure
  getProductsByCategory
  new SqlParameter(@CategoryID categoryID));
  
  注意 Application Block for NET(用於 NET 的應用程序塊)是基於對成功的 NET 應用程序進行詳細研究而設計的它以源代碼的形式提供您可以原樣使用也可以針對自己的應用程序進行自定義該應用程序塊並不代表未來 Microsoft ADONET 程序庫的發展方向Microsoft ADONET 程序庫是為在各種使用情況下實現對數據訪問行為的精確控制而建立的將來的 ADONET 版本可能會使用不同的模型來實現這個方案
  
  Data Access Application Block 包括哪些內容?
  
  提供了 Data Access Application Block 的源代碼以及快速入門示例應用程序您可以使用這些應用程序測試其功能Data Access Application Block 還包括綜合文檔可以幫助您使用和了解所提供的代碼
  
  Visual Studio NET 項目
  
  提供了 Data Access Application Block 的 Microsoft Visual Basic? NET 和 Microsoft Visual C#? 源代碼以及每種語言的快速入門示例客戶端應用程序您可以使用這些應用程序測試常見的方案這有助於加深您對 Data Access Application Block 的工作原理的了解您還可以自定義源代碼以滿足自己的需要
  
  您可以編譯 Visual Basic 和 C# MicrosoftApplicationBlocksData 項目以生成一個名為 MicrosoftApplicationBlocksDatadll 的程序集該程序集包括一個 SqlHelper 類(其中包含用於執行數據庫命令的核心功能)和一個 SqlhelperParameterCache 類(提供參數發現和緩存功能)
  
  文檔
  
  Data Access Application Block 的文檔主要包括以下內容
  
  使用 Data Access Application Block 開發應用程序本部分包括快速入門示例其中包含多種常見的使用情況可以幫助您快速輕松地掌握 Data Access Application Block(數據訪問應用程序塊)的使用
  
  Data Access Application Block 的設計與實現本部分包括背景設計原理信息以便用戶深入了解 Data Access Application Block 的設計與實現
  
  部署和運行本部分包括安裝信息其中包含部署和更新選項以及與安全性有關的信息
  
  參考本部分包含綜合的 API 參考其中詳細介紹了構成 Data Access Application Block 的類和接口
  
  系統要求
  
  要運行 Data Access Application Block需要滿足以下要求
  
  Microsoft Windows? Windows XP Professional
  NET Framework SDK(英文)的 RTM 版本
  Visual Studio? NET 的 RTM 版本(推薦但不必需)
  SQL Server 或更高版本的數據庫服務器
  下載並安裝 Data Access Application Block
  您可以獲取一個包含已簽名的 Data Access Application Block 程序集和綜合文檔的 Windows 安裝程序文件
  
  安裝進程將在您的程序菜單中創建一個 Microsoft Application Blocks for NET(用於 NET 的 Microsoft 應用程序塊)子菜單該子菜單中有一個 Data Access(數據訪問)子菜單其中包括用於啟動文檔的選項和用於啟動 Data Access Application Block Visual Studio NET 解決方案的選項
  
  請轉到 MSDN Downloads(英文)進行下載
  
  使用 Data Access Application Block
  
  本節討論如何使用 Data Access Application Block 來執行數據庫命令和管理參數 顯示了 Data Access Application Block 的主要元素
  

  
Data Access Application Block

  
  SqlHelper 類提供了一組靜態方法可以用來向 SQL Server 數據庫發出許多各種不同類型的命令
  
  SqlHelperParameterCache 類提供命令參數緩存功能可以用來提高性能該類由許多 Execute 方法(尤其是那些只運行存儲過程的重寫方法)在內部使用數據訪問客戶端也可以直接使用它來緩存特定命令的特定參數集
  
  使用 SqlHelper 類執行命令
  
  SqlHelper 類提供了五種 Shared (Visual Basic) 或 static (C#) 方法它們是ExecuteNonQueryExecuteDatasetExecuteReaderExecuteScalar 和 ExecuteXmlReader實現的每種方法都提供一組一致的重載這提供了一種很好的使用 SqlHelper 類來執行命令的模式同時為開發人員選擇訪問數據的方式提供了必要的靈活性每種方法的重載都支持不同的方法參數因此開發人員可以確定傳遞連接事務和參數信息的方式類中實現的所有方法都支持以下重載
  
  [Visual Basic]
  Execute* (ByVal connection As SqlConnection _
  ByVal commandType As CommandType _
  ByVal CommandText As String)
  
  Execute* (ByVal connection As SqlConnection _
  ByVal commandType As CommandType _
  ByVal commandText As String _
  ByVal ParamArray commandParameters() As SqlParameter)
  
  Execute* (ByVal connection As SqlConnection _
  ByVal spName As String _
  ByVal ParamArray parameterValues() As Object)
  
  Execute* (ByVal transaction As SqlTransaction _
  ByVal commandType As CommandType _
  ByVal commandText As String)
  
  Execute* (ByVal transaction As SqlTransaction _
  ByVal commandType As CommandType _
  ByVal commandText As String _
  ByVal ParamArray commandParameters() As SqlParameter)
  
  Execute* (ByVal transaction As SqlTransaction _
  ByVal spName As String _
  ByVal ParamArray parameterValues() As Object)
  
  [C#]
  Execute* (SqlConnection connection CommandType commandType
  string commandText)
  
  Execute* (SqlConnection connection CommandType commandType
  string commandText params SqlParameter[] commandParameters)
  
  Execute* (SqlConnection connection string spName
  params object[] parameterValues)
  
  Execute* (SqlConnection connection
  CommandType commandType string commandText)
  
  Execute* (SqlConnection connection
  CommandType commandType string commandText
  params SqlParameter[] commandParameters)
  
  Execute* (SqlConnection connection
  string spName params object[] parameterValues)
  
  除這些重載以外除 ExecuteXmlReader 之外的其他方法還提供了另一種重載允許將連接信息作為連接字符串而不是連接對象來傳遞如下面的方法簽名所示
  
  [Visual Basic]
  Execute* (ByVal connectionString As String _
  ByVal commandType As CommandType _
  ByVal commandText As String)
  
  Execute* (ByVal connectionString As String _
  ByVal commandType As CommandType _
  ByVal commandText As String _
  ByVal ParamArray commandParameters() As SqlParameter)
  
  Execute* (ByVal connectionString As String _
  ByVal spName As String _
  ByVal ParamArray parameterValues() As Object)
  
  [C#]
  Execute* (string connectionString CommandType commandType
  string commandText)
  
  Execute* (string connectionString CommandType commandType
  string commandText
  params SqlParameter[] commandParameters)
  
  Execute* (string connectionString string spName
  params object[] parameterValues)
  
  注意 ExecuteXmlReader 不
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27020.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.