用VB生成DLL封裝ASP連接數據庫的代碼
2024-05-04 11:01:58
供稿:網友
這篇文章以VB生成的DLL封裝ASP代碼來連接數據庫(以Access數據庫為例)。
一般情況下我們在用ASP連接Access的數據庫時通常都會進行如下的操作
'//Proconn.asp
<%
dim ProConn
set ProConn=Server.CreateObject("ADODB.CONNECTION")
ProConn.Open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ=" & Server.MapPath("DB.asp")
'一個原本為DB.mdb的Access數據庫更改后綴為DB.asp的文件,數據庫密碼123
if err.Number <> 0 then
ResPonse.Write "數據庫沒有連結,請檢查"
ResPonse.End
else
ResPonse.Write "數據庫連結成功"
ResPonse.End
end if
%>
如果配置好服務器,訪問Proconn.asp,如果連接數據庫成功會輸出“數據庫連結成功”。
但是這樣的asp代碼的安全級別非常低,如果此asp原代被人看到,那么再有此數據庫文件的話,其他人就能輕而易舉的
隨便打開你的數據庫進行操作。
所以我們的任務來了,如何將這些關鍵的內容封裝起來呢?
首先需要確定方式方法和對象。
查看了網上的一些資料,主要都是用VB生成DLL的辦法來封裝的,那么我們也采取這樣的方法好了,(雖然我還沒用真正用過VB這東東)
方式方法確定,那么什么是我們需要封裝的對象呢?
大家來看
"driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ=" & Server.MapPath("DB.asp")
是最關鍵的代碼,這段代碼封裝在一個用VB生成的DLL中,應該比較好。
之所以不將整個
dim ProConn
set ProConn=Server.CreateObject("ADODB.CONNECTION")
ProConn.Open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ=" & Server.MapPath("DB.asp")
都封裝,(因為網上有講將整個連接代碼都封裝)是因為,在其他asp文件引用Proconn.asp時,
我還需要里面的ProConn進行其他操作,如果封裝,不便進行引用和操作。
(以上封裝對象的解釋原因是我個人的見解,有朋友說整體封裝對ProConn的使用沒有影響,這個我不理解,請知道的給我講講)
所在只想封裝最關鍵的部分“"driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ=" & Server.MapPath("DB.asp")”
分析一下這段要封裝的內容,
它的前半部分就是一個字符串:
"driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ="
用&連接上后半部分的另一個字符串。
后半部分的另一個字符串是Server.MapPath對象函數的返回值。
下面開始這個封裝的操作過程。
首先
新建一個VB下的ActiveX DLL工程,工程的名稱Project1更改成ConDBDLL?? 方法class1的名稱更改成cs