用VB實現關閉所有數據庫對象

發表于:2007-07-14來源:作者:點擊數: 標簽:
如果你在程序中使用了任何 數據庫 對象(DAO, RDO, 或者 ADO), 在退出程序之前,你必須確認已經關閉掉了所有已經打開的記錄、數據庫和數據工作臺(recordsets, databases, and workspaces)。雖然退出程序時這些對象的指針都被自動施放了,但是如果你自己又
  如果你在程序中使用了任何數據庫對象(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

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97