关闭连接范例

目录

ActiveConnection 属性设置为 Nothing 将“关闭”目录。关联的集合将被置空。目录中任何通过模式对象创建的对象都将被孤立。这些已缓存对象的任何属性依然可用,但读取属性时如果该属性需要调用提供者,则此操作将会失败。

Sub CloseConnectionByNothing()   Dim cnn As New Connection
   Dim cat As New Catalog
   Dim tbl As Table   cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source= c:\Program Files\Microsoft Office\" & _
      "Office\Samples\Northwind.mdb;"
   Set cat.ActiveConnection = cnn
   Set tbl = cat.Tables(0)
   Debug.Print tbl.Type    ' 缓存 tbl.Type 信息
   Set cat.ActiveConnection = Nothing
   Debug.Print tbl.Type    ' tbl 被孤立
   ' 如果它被缓存,前面的行将成功
   Debug.Print tbl.Columns(0).DefinedSize
   ' 如果该信息未被缓存,前面的行将失败End Sub

关闭用于“打开”目录的 Connection 对象,与将 ActiveConnection 属性设置为 Nothing 效果相同。

Sub CloseConnection()   Dim cnn As New Connection
   Dim cat As New Catalog
   Dim tbl As Table   cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source= c:\Program Files\Microsoft Office\" & _
      "Office\Samples\Northwind.mdb;"
   Set cat.ActiveConnection = cnn
   Set tbl = cat.Tables(0)
   Debug.Print tbl.Type    ' 缓存 tbl.Type 信息
   cnn.Close
   Debug.Print tbl.Type    ' tbl 被孤立
   ' 如果它被缓存,前面的行将成功
   Debug.Print tbl.Columns(0).DefinedSize
   ' 如果该信息未被缓存,前面的行将失败End Sub
www.holmesian.org