對於不同的.net數據提供者,ADO.NET采用不同的Connection對象連接數據庫。這些Connection對我們屏蔽了具體的實現細節,並提供了一種統一的實現方法。
Connection類有四種:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。
Sqlconnetcion類的對象連接是SQL Server數據庫;OracleConnection類的對象連接Oracle數據庫;OleDbConneetion連接支持OLE DB的數據庫,如Access;而OdbcConnection類的對象連接支持ODBC的數據庫。與數據庫的所有通訊都是通過Connection對象來完成的。
這次先介紹使用OleDbonnection來鏈接各種數據源。
ADO.Net的數據訪問對象有Connection,Command、DataReader和DataAdaper等,由於每種.NET Data Provider都有自己的數據訪問對象,因此他們的使用方式相似。這里主要介紹OLEDB.NET Data Provider的各種數據訪問對象的使用。
注意:OLEDB.NET數據提供程序的命名空間是System.Data.OleDb,在使用它時應該在引用部分增加該語句。
OleDbConnection對象
在數據訪問中首先必須建立到數據庫的物理連接。OLEDB.NET Data Provider 使用OleDbConnection類的對象標識與一個數據庫的物理連接。
1、OledbConnection類
OledbConnection類的常用屬性如下表所示,其中的State屬性取值及其說明如表14.7所示。
OleDbConnection類的常用屬性及其說明
———————————————————————————
屬性 說明
ConnectionString 獲取或設置用於打開數據庫的字符串
ConnectionTimeOut 獲取在嘗試建立連接時終止嘗試並生成錯誤之前所等待的時間
Database 獲取當前數據庫或連接打開后要使用的數據庫名稱
DataSource 獲取數據源的服務器名或文件名
Provider 獲取在連接字符串的“Provider = ” 子句中指定的OLEDB提供程序的名稱
State 獲取連接的當前狀態
———————————————————————————
State枚舉成員值:
———————————————————————————
Connecting 連接對象正在與數據源連接
Executing 連接對象正在執行命令
Fetching 連接對象正在檢索數據
Open 連接對象處於打開狀態
———————————————————————————
OleDbConnection類的常用方法如下表所示:
———————————————————————————
Open 使用ConnectionString所指定的屬性設置打開數據庫連接
Close 關閉與數據庫的連接,這是關閉任何打開連接的首選方法
CreateCommand 創建並返回一個與OleDbConnection關聯的OleDbCommand對象
ChangeDatabase 為打開的OleDbConnection更改當前數據庫
———————————————————————————
2、建立連接字符串ConnectionString
建立連接的核心是建立連接字符串ConnectionString,簡歷連接主要有如下兩種方法。
1)、直接建立連接字符串
直接建立連接字符串的方式是先創建一個OleDbConnection對象,將其ConnectionString屬性設置為如下:
Provider = Microsoft.Jet.OLEDB.4.0;Data Sourse = Access數據庫;UserId = 用戶名;Password = 密碼;
其中Provider和DataSource是必選項,如果Access數據庫沒有密碼,UserId和Password可以省略。由於Access數據庫是基於文件的數據庫,因此在實際項目中應該將Data Source的屬性值轉換為服務器的絕對路徑。
最后用Open方法打開連接。