用VB實(shí)現(xiàn)關(guān)閉所有數(shù)據(jù)庫對(duì)象。如果你在程序中使用了任何數(shù)據(jù)庫對(duì)象(DAO, RDO, 或者 ADO), 在退出程序之前,你必須確認(rèn)已經(jīng)關(guān)閉掉了所有已經(jīng)打開的記錄、數(shù)據(jù)庫和數(shù)據(jù)工作臺(tái)(recordsets, databases, and workspaces)。雖然退出程序時(shí)這些對(duì)象的指針都被自動(dòng)施放了,但是如果你自己又不能確認(rèn)是否真正地釋放了打開的數(shù)據(jù)庫對(duì)象,那么就有可能數(shù)據(jù)庫連接沒有馬上被釋放掉,從而被這些對(duì)象所占用的內(nèi)存就再也不能被操作系統(tǒng)再次分配。
---- 下面有一段放在Form_Unload 事件(或者其他退出模塊中)中的一小段代碼例子,設(shè)為首頁它演示了關(guān)閉所有打開的DAO 工作臺(tái)、數(shù)據(jù)庫和記錄并釋放了被這些對(duì)象占用的內(nèi)存。當(dāng)你退出FORM時(shí),不論在有一個(gè)、100個(gè)甚至沒有數(shù)據(jù)庫連接時(shí)都可以使用下面代碼。
Private Sub Form_Unload(Cancel As Integer)
' 關(guān)閉數(shù)據(jù)庫對(duì)象并且釋放內(nèi)存
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
相關(guān)推薦:2009年4月計(jì)算機(jī)等級(jí)二級(jí)考試VF程序設(shè)計(jì)輔導(dǎo)北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |