數據訪問是任何應用程序的基礎在本文中我將說明如何用C#和ADONET訪問基於SQL Server的數據以及如何在一個數據綁定的網格控件中顯示數據我用一個簡單的C#應用程序為例
ADONET結構
使用ADONET不需要維持一個連接另外在ADONET中只需用幾行代碼你就可以從一個數據源轉到另一個數據源
ADONET的核心對象有Command Connection DataReader和DataAdapter它們是NET中所有數據操作的基礎
核心ADONET命名空間
SystemData是其它命名空間的基礎
並補充
DataTable DataColumn DataView和
Constraints對象
SystemDataCommon定義由各種數據提供者共享的普通對象
包括
DataAdapter DataColumnMapping和
DataTableMapping它為數據提供者所用
包含用於訪問數據源的集合
SystemDataOleDb定義你用來連接到數據源並修改各種數據源中的數據的對象
它作為普通數據提供者而編寫
由包含SQL Server
微軟Oracle OLE DB Provider和微軟Jet
Provider驅動器的
NET Framework提供執行
當你需要連接到許多不同的數據源時
就會用到這個命名空間
並且你希望達到比提供者更佳的性能
SystemDataSqlClient直接利用SQL Server應用程序接口
提供比更為普通的System
Data
OleDb更佳的性能
這是一個專門為SQL Server
及以上版本建立的提供者命名空間
SystemDataSqlTypes專門為SQL Server的數據類型提供類
這個命名空間專為SQL Server而設計
並提供比其它命名空間更佳的性能
但只應用於SQL Server後端
SystemDataOdbc處理所有兼容ODBC驅動器
只有
NET Framework
支持這個命名空間
所以安裝新版Framework就能獲得它
數據網格實例
給表格dataGrid增加一個數據網格如圖所示為了讓列表A中的樣本代碼能夠運行需要利用下面的命名空間
using SystemData;
using SystemDataOleDb;
上面的代碼定義了兩個變量strConn和strSQLStrConn使用OLEDB設定利用JET數據庫所需的連接字符串並指向當地計算機的Northwindmdb數據庫位置StrSQL指定我想在Access數據庫(Northwindmdb)上運行的查詢
接下來我定義OleDBDataAdapter對象da並將它提交給查詢語句(strSQL)和連接字符串(strConn)注意我在例子中沒有建立一個連接(Connection)對象
然後我定義數據組ds它被用來從網格控件中的用戶表(Customers)中獲得實際數據我使數據網格控件dataGrid的DataMember特性指向到我獲得數據的表格並將控件DataSource的特性設定給DataSetds(DataMember特性獲得/設定DataSource中的一個綁定控件的表格DataSource特性獲得/設定用來安裝控件的數據源)當你運行列表A中的代碼時結果如圖所示
我顯示C:DataAccessNorthwindmdb數據庫中的數據只看到我在選擇語句中選中的欄如果選擇的列數或欄數超過頁面的大小網格控件會自動顯示滾動條
現在你了解了在C#應用程序中使用ADONET以及建立一個數據網格控件顯示查詢返回數據的基本原理了
From:http://tw.wingwit.com/Article/program/net/201311/11475.html