Freigeben über


Connection Close-Methode, Table Type-Eigenschaft – Beispiel (VB)

Wenn Sie die ActiveConnection-Eigenschaft auf Nothing festlegen, sollte die Verbindung mit dem Katalog getrennt werden. Zugeordnete Auflistungen bleiben leer. Alle Objekte, die aus Schemaobjekten im Katalog erstellt wurden, verlieren ihre Zuordnung. Alle Eigenschaften dieser Objekte, die zwischengespeichert wurden, sind weiterhin verfügbar. Wenn Sie allerdings versuchen, Eigenschaften zu lesen, die einen Aufruf des Anbieters erfordern, kommt es zu einem Fehler.

' 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  

Das Schließen eines Connection-Objekts, das zum Öffnen des Katalogs verwendet wurde, sollte den gleichen Effekt haben wie das Festlegen der ActiveConnection-Eigenschaft auf Nothing.

Attribute VB_Name = "Connection"  

Weitere Informationen

ActiveConnection-Eigenschaft (ADOX)
Catalog-Objekt (ADOX)
Column-Objekt (ADOX)
Columns-Collection (ADOX)
Table-Objekt (ADOX)
Tables-Collection (ADOX)
Type-Eigenschaft (Tabelle) (ADOX)