该范例说明了使用 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