用VB实现关闭所有数据库对象

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

如果你在程序中使用了任何数据库对象(DAO, RDO, 或者 ADO), 在退出程序之前,你必须确认已经关闭掉了所有已经打开的记录、数据库和数据工作台(recordsets, databases, and workspaces)。虽然退出程序时这些对象的指针都被自动施放了,但是如果你自己又不能确认是否真正地释放了打开的数据库对象,那么就有可能数据库连接没有马上被释放掉,从而被这些对象所占用的内存就再也不能被操作系统再次分配。

---- 下面有一段放在Form_Unload 事件(或者其他退出模块中)中的一小段代码例子,它演示了关闭所有打开的DAO 工作台、数据库和记录并释放了被这些对象占用的内存。当你退出FORM时,不论在有一个、100个甚至没有数据库连接时都可以使用下面代码。

Private Sub Form_Unload(Cancel As Integer)

’ 关闭数据库对象并且释放内存

On Error Resume Next

Dim ws As Workspace

Dim db As Database

Dim rs As Recordset

For Each ws In Workspaces

For Each db In ws.Databases

For Each rs In db.Recordsets

rs.Close

Set rs = Nothing

Next

db.Close

Set db = Nothing

Next

ws.Close

Set ws = Nothing

Next

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航