當前位置:首頁 > 建站常識 > 列表

asp conn打開關閉函數

點擊:時(shí)間:2017/8/20關鍵詞:上海網頁設計 網站制作 網站建設公司
一個(gè)需要讀寫數據庫的(de)頁面裏包含類似<!-- #include file="conn.asp" -->的(de)代碼時(shí),實際上,當你沒有進行任何讀寫數據庫操作時(shí),這(zhè)個(gè)數據庫連接仍然是打開的(de),仍然在消耗著(zhe)服務器的(de)資源。數據庫連接代碼封裝在函數裏,在需要讀取時(shí)調
conn打開關閉函數

一個(gè)需要讀寫數據庫的(de)頁面裏包含類似<!-- #include file="conn.asp" -->的(de)代碼時(shí),實際上,當你沒有進行任何讀寫數據庫操作時(shí),這(zhè)個(gè)數據庫連接仍然是打開的(de),仍然在消耗著(zhe)服務器的(de)資源。

數據庫連接代碼封裝在函數裏,在需要讀取時(shí)調用(yòng)這(zhè)個(gè)函數。讓數據庫連接僅在需要讀取數據庫時(shí)才打開,不讀取時(shí)就沒有任何動作.

以下(xià)是ACCESS連接代碼:

Function Openconn()

dim DBFileName,Conn

DBFileName = "#-#-#abcd.mdb"

set Conn=server.createObject("ADODB.connection")

ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(DBFileName)

On Error Resume Next

conn.Open connstr

set Openconn=Conn

If Err Then

err.Clear

Conn.close:set Conn=nothing

Response.Write "對(duì)不起,數據庫連接出錯。"

Response.End

End If

End Function

調用(yòng)方法:

将原來(lái)的(de) rs.open sql,conn 改成 rs.open sql,Open_conn()

同服務器跨站共享ACCESS數據庫,使用(yòng)數據庫物(wù)理(lǐ)路徑

Source="數據庫物(wù)理(lǐ)路徑 如E:\目錄\目錄\數據庫名

在某個(gè)頁面上調用(yòng)了(le)兩次CloseConn函數就出現了(le)以下(xià)的(de)問題

Microsoft VBScript 運行時(shí)錯誤 錯誤 '800a01a8'

缺少對(duì)象: 'Conn'

那這(zhè)個(gè)函數的(de)主要功能是判斷conn是否關閉了(le),還(hái)沒關閉就把它關閉,那爲什(shén)麽會出現上面的(de)問題

原因是IsObject判斷conn,無論conn是否關閉都是返回True的(de)。

第一次調用(yòng),conn正常被關閉,而且等于爲nothing,

那第二次調用(yòng)時(shí),conn就是nothing,就被系統認爲沒有了(le)這(zhè)個(gè)對(duì)象,

所以我們要把函數改爲以下(xià)才可(kě)以正常運行。

關閉數據庫連接:CloseConn(conn)

Sub CloseConn(conn)

if IsObject(conn) then

if LCase(TypeName(conn)) <> "nothing" then

  conn.close

  set conn=nothing

end if

end if

End Sub

注:LCase(TypeName(conn)) ,LCase()一定需要的(de),TypeName(conn)返回的(de)值是Nothing(大(dà)寫N),那加上這(zhè)個(gè)LCase把返回值都轉爲小寫,那就萬無一失了(le)。

預約建站
免費提供網站優化(huà)
領取關鍵詞