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.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