ConnectionString、ConnectionTimeout 和 State 属性范例

该范例说明了使用 ConnectionString 属性打开 Connection 对象的不同方法。同时还使用 ConnectionTimeout 属性设置连接超时时间,并使用 State 属性检查连接的状态。该过程运行时需要 GetState 函数。

Public Sub ConnectionStringX()   Dim cnn1 As ADODB.Connection
   Dim cnn2 As ADODB.Connection
   Dim cnn3 As ADODB.Connection
   Dim cnn4 As ADODB.Connection   ' 不使用数据源名 (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 和单个参数而非连接字符串打开连接。
   Set cnn4 = New ADODB.Connection
   cnn4.Open "Pubs", "sa", "pwd"
 
   ' 显示连接的状态。
   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.CloseEnd SubPublic Function GetState(intState As Integer) As String   Select Case intState
      Case adStateClosed
         GetState = "adStateClosed"
      Case adStateOpen
         GetState = "adStateOpen"
   End SelectEnd Function
www.holmesian.org