ado|常數|對象 Connection對象
屬性
屬性名稱 資料類型和用途
Attributes 可讀寫Long類型,通過兩個常數之和指定是否使用保留事務(retainning transactions)。常數adXactCommitRetaining表示調用CommitTrans方法時啟動一個新事務;常數adXactAbortRetaning表示調用RollbackTrans方法時啟動一個新事務。預設值為0,表示不使用保留事務。
CommandTimeout 可讀寫Long類型,指定中止某個相關Command對象的Execute調用之前必須等待的時間。預設值為30秒。
ConnectionString 可讀寫String類型,提供資料提供者或服務提供者開啟到資料來源的串連所需要的特定資訊
ConnectionTimeout 可讀寫Long類型,指定中止一個失敗的Connection.Open方法調用之前必須等待的時間,預設值為15秒。
CursorLocation 可讀寫Long類型,確定是使用用戶端(adUseClient)遊標引擎,還是使用伺服器端(adUseServer)遊標引擎。預設值是adUseServer。
DefaultDatabase 可讀寫String類型,如果ConnectString中未指定資料庫名稱,就使用這裡所指定的名稱,對SQL Server而言,其值通常是pubs
IsolationLevel 可讀寫Long類型,指定和其他並發事務互動時的行為或事務。見IsolationLevel常數
Mode Long類型,指定對Connection的讀寫權限。見Mode常數
Provider 可讀寫String類型,如果ConnectionString中未指定OLE DB資料或服務提供者的名稱,就使用這時指定的名稱。預設值是MSDASQL(Microsoft OLE DB Provider for ODBC)。
State 可讀寫Long類型,指定串連是處於開啟狀態,還是處於關閉狀態或中間狀態。見State常數
Version 唯讀String類型,返回ADO版本號碼。
注意:上面所列出的大多數可讀寫的屬性,只有當串連處於關閉狀態時才是可寫的。
只有當使用者為Connection對象用BeginTrans...CommitTrans...RollbackTrans方法定義了不遺餘力,事務隔離程度的指定才真正有效。如果有多個資料庫使用者同時執行事務,那麼應用程式中必須指定如何響應運行中的其他事務。
方法
方法 用途
BeginTrans 初始化一個事務;其後必須有CommitTrans和/或RollbackTrans相呼應
Close 關閉串連
CommitTrans 提交一個事務,以完成對資料來源的永久改變(要求使用之前必須調用了BeginTrans方法)
Execute 從SELECT SQL語句返回一個forward-only Recordset對象,也用來執行那些不返回Recordset語句,如INSERT、UPDATE、DELETE查詢或DDL語句
Open 用連接字串來開啟一個串連
OpenSchema 返回一個Recordset對象以提供資料來源的結構資訊(metadata)
RollbackTrans 取消一個事務,恢複對資料來源做的臨時性改變(要求使用之前必須調用了BeginTrans方法)
註:只有Execute、Open和OpenSchema三個方法才能接受變元參數。Execute的文法為:
cnnName.Execute strCommand,[lngRowsAffected[,lngOptions]]
strCommand的值可以是SQL語句、表名、預存程序名,也可以是資料提供者所能接受的任一字元串。為了提高效能,最好為lngOptions參數指定合適的值(詳見lngOptions參數用到的常數),以使提供者解釋語句時不用再去判定其類型。選擇性參數lngRowsAffected將返回INSERT、UPDATE或DELETE查詢執行以後所影響的數目。這些查詢會返回一個關閉的Recordset對象。一個SELECT查詢將返回lngRowsAffected值為0並且返回帶有一行或多行內容的開啟的forward-only Recordset。
事件
事件名稱 觸發時機
BeginTransComplete BeginTrans方法執行以後。
程式碼:[ 複製代碼到剪貼簿 ] Private Sub cnnName_BeginTransComplet(ByVal TransactionLevel As Long,ByVal pError As ADODB.Error,adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
CommitTransComplete CommitTrans方法執行以後
程式碼:[ 複製代碼到剪貼簿 ] Private Sub Connection1_CommitTransComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
ConnectComplete 成功建立到資料來源的Connection之後
程式碼:[ 複製代碼到剪貼簿 ] Private Sub Connection1_ConnectComplete(ByVal pE