對(duì)于ASP程序,有以下(xià)幾個(gè)基本的(de)内置對(duì)象:
Application對(duì)象,Request對(duì)象,Response對(duì)象,Server對(duì)象,Session對(duì)象,
絕大(dà)多(duō)說的(de)ASP的(de)操作代碼都是運用(yòng)這(zhè)些内置對(duì)象的(de)方法。
除了(le)以上幾個(gè)内置對(duì)象外,我們平常編寫ASP的(de)程序(涉及到數據庫)都還(hái)需要用(yòng)到以下(xià)幾種新創建的(de)對(duì)象:
1、數據庫連接對(duì)象
一般把這(zhè)種對(duì)象叫CONNECTION
創建方法
dim ProConn
set ProConn=Server.CreateObject("ADODB.CONNECTION")
使用(yòng)這(zhè)個(gè)CONNECTION對(duì)象打開一個(gè)Access數據庫
ProConn.Open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=;DBQ=" & Server.MapPath("DB.mdb")
2、Recordset對(duì)象
這(zhè)種對(duì)象主要用(yòng)來(lái)在ASP代碼中執行數據庫查詢的(de)SQL語句
創建方法
dim rs
Set rs=Server.CreateObject("ADODB.Recordset")
rs.Open strSQL,ProConn,1,1
'strSQL是SQL語句的(de)字符串
'ProConn是CONNECTION對(duì)象
'1,1是遊标參數
以上兩種對(duì)象是我們經常碰到的(de),它們在使用(yòng)完畢後必須注意的(de)就是釋放這(zhè)些對(duì)象。
釋放的(de)方法如下(xià):
ProConn.close
rs.close
set ProConn=nothing
set rs=nothing
接下(xià)來(lái)要說的(de)是引用(yòng)自創的(de)DLL時(shí)使用(yòng)的(de)對(duì)象,關于怎麽封裝ASP代碼爲DLL請參看上一篇文章(zhāng).
這(zhè)種對(duì)象的(de)使用(yòng)如下(xià):
Dim ConDB
set ConDB=Server.CreateObject("ConDBDLL.Conn")
'調用(yòng)ConDB的(de)方法
ConDB.ConnectDB()
ConDB.DBPath()
'ConnectDB()和(hé)DBPath()都是這(zhè)個(gè)封裝DLL中自定義的(de)方法
CreateObject("ConDBDLL.Conn")中的(de)ConDBDLL是這(zhè)個(gè)DLL的(de)工程名,Conn是這(zhè)個(gè)工程中的(de)class
簡單的(de)一句set ConDB=Server.CreateObject("ConDBDLL.Conn")就使ConDB變成了(le)一個(gè)自創對(duì)象。
就是這(zhè)麽簡單的(de)一個(gè)對(duì)象,我卻忘記了(le)在調用(yòng)創建這(zhè)個(gè)對(duì)象的(de)ASP文件的(de)其他(tā)ASP源代碼文件中釋放掉,緻使爲以後存在了(le)巨大(dà)的(de)隐患。
這(zhè)樣沒有釋放的(de)對(duì)象,在這(zhè)個(gè)ASP的(de)網站多(duō)次使用(yòng)後,系統就會變得(de)其慢(màn)無比,原因都是因爲沒有釋放這(zhè)個(gè)對(duì)象。