Поделиться через


Примеры метода Close для объекта Connection и свойства Type для объекта Table (Visual Basic)

Установка для свойства ActiveConnection значения Nothing должна закрыть подключение к каталогу. Связанные коллекции будут пустыми. Все объекты, созданные из объектов схемы в каталоге, будут потеряны. Все свойства тех объектов, которые были кэшированы, по-прежнему будут доступны, но попытка чтения свойств, требующая вызова поставщика, завершится ошибкой.

' BeginCloseConnectionVB  
Sub Main()  
    On Error GoTo CloseConnectionByNothingError  
  
    Dim cnn As New ADODB.Connection  
    Dim cat As New ADOX.Catalog  
    Dim tbl As ADOX.Table  
  
    cnn.Open "Provider='Microsoft.Jet.OLEDB.4.0';" & _  
        "Data Source= 'Northwind.mdb';"  
    Set cat.ActiveConnection = cnn  
    Set tbl = cat.Tables(0)  
    Debug.Print tbl.Type    ' Cache tbl.Type info  
    Set cat.ActiveConnection = Nothing  
    Debug.Print tbl.Type    ' tbl is orphaned  
    ' Previous line will succeed if this info was cached.  
    Debug.Print tbl.Columns(0).DefinedSize  
    ' Previous line will fail if this info has not been cached.  
  
    'Clean up.  
    cnn.Close  
    Set cat = Nothing  
    Set cnn = Nothing  
    Exit Sub  
  
CloseConnectionByNothingError:  
    Set cat = Nothing  
  
    If Not cnn Is Nothing Then  
        If cnn.State = adStateOpen Then cnn.Close  
    End If  
    Set cnn = Nothing  
  
    If Err <> 0 Then  
        MsgBox Err.Source & "-->" & Err.Description, , "Error"  
    End If  
End Sub  
' EndCloseConnectionVB  

Закрытие объекта Connection , который использовался для открытия каталога, должно иметь тот же эффект, что и установка для свойства ActiveConnectionзначения Nothing.

Attribute VB_Name = "Connection"  

См. также:

Свойство ActiveConnection (ADOX)
Объект Catalog (ADOX)
Объект Column (ADOX)
Коллекция Columns (ADOX)
Объект Table (ADOX)
Коллекция Tables (ADOX)
Свойство Type (Table) (ADOX)