該范例說明了使用 ConnectionString 屬性打開 Connection 對象的不同方法。同時還使用 ConnectionTimeout 屬性設置連接超時時間,并使用 State 屬性檢查連接的狀態(tài)。該過程運行時需要 GetState 函數(shù)。
Public Sub ConnectionStringX()
Dim cnn1 As ADODB.Connection
Dim cnn2 As ADODB.Connection
Dim cnn3 As ADODB.Connection
Dim cnn4 As ADODB.Connection
' 不使用數(shù)據(jù)源名 (DSN) 打開連接。
Set cnn1 = New ADODB.Connection
cnn1.ConnectionString = "driver={SQL Server};" & _
"server=bigsmile;uid=sa;pwd=pwd;database=pubs"
cnn1.ConnectionTimeout = 30
cnn1.Open
' 使用 DSN 和 ODBC 標記打開連接。
Set cnn2 = New ADODB.Connection
cnn2.ConnectionString = "DSN=Pubs;UID=sa;PWD=pwd;"
cnn2.Open
' 使用 DSN 和 OLE DB 標記打開連接。
Set cnn3 = New ADODB.Connection
cnn3.ConnectionString = "Data Source=Pubs;User ID=sa;Password=pwd;"
cnn3.Open
' 使用 DSN 和單個參數(shù)而非連接字符串打開連接。
Set cnn4 = New ADODB.Connection
cnn4.Open "Pubs", "sa", "pwd"
' 顯示連接的狀態(tài)。
MsgBox "cnn1 state: " & GetState(cnn1.State) & vbCr & _
"cnn2 state: " & GetState(cnn2.State) & vbCr & _
"cnn3 state: " & GetState(cnn3.State) & vbCr & _
"cnn4 state: " & GetState(cnn4.State)
cnn4.Close
cnn3.Close
cnn2.Close
cnn1.Close
End Sub
Public Function GetState(intState As Integer) As String
Select Case intState
Case adStateClosed
GetState = "adStateClosed"
Case adStateOpen
GetState = "adStateOpen"
End Select
End Function