用VB完成關閉所有數據庫對象
發表時間:2024-02-22 來源:明輝站整理相關軟件相關文章人氣:
[摘要]如果你在程序中使用了任何數據庫對象(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