精品久久看,欧美成人久久一级c片免费,日本加勒比在线精品视频,国产一区二区三区免费大片天美,国产成人精品999在线,97理论三级九七午夜在线观看

當(dāng)前位置: 首頁IT技術(shù) → 關(guān)于asp中connection對(duì)象封裝dll方法分享

關(guān)于asp中connection對(duì)象封裝dll方法分享

更多

這篇文章將跟大家分享到關(guān)于asp中connection對(duì)象封裝dll解決方案,希望能給大家?guī)韼椭騿l(fā)。

asp代碼保密一直是令人頭痛的問題,目前沒有非常好的解決方案,無非用vb編譯成dll,但工作量實(shí)在太大,于是一直苦苦尋求著另一種途徑。。。

  中午,突然靈感一發(fā),“為什么不嘗試用加密數(shù)據(jù)庫?”,通過對(duì)數(shù)據(jù)庫設(shè)一個(gè)高強(qiáng)度的密碼,然后用vb封裝connection對(duì)像,將密碼信息寫在dll里,然后通過asp創(chuàng)建組件方式調(diào)用,就算人家拿了我的代碼,也無法改動(dòng)數(shù)據(jù)庫!

  于是,開始了一步步既痛苦又刺激的旅程。vb三四年前用過,而且菜得不再菜,為了找思路,就上網(wǎng)搜,百度有時(shí)候也挺害人的,搜了一大堆誤人子弟的東東出來,特別是那個(gè)vb程序里只放一個(gè)連接字符串,然后用asp創(chuàng)建組件,取出字串,然后連接的思路,沒任何意思,一句respose.write 連接字串就出來。

  達(dá)到加密數(shù)據(jù)庫的目的,鏈接字串絕對(duì)是不能顯示的,所以我參考了龍卷風(fēng)寫的"使用組件封裝數(shù)據(jù)庫操作(二)"中的方法,設(shè)定一個(gè)conn的全局變量,然后打開數(shù)據(jù)庫的函數(shù)返回的只有true跟false。更重要的一點(diǎn)就是封裝rs的execute方法,將其寫到dll里,具體操作如下:

  1.打開vb,創(chuàng)建一個(gè)activex dll工程,工程名稱叫myconn,類模塊是dbconn,然后寫入以下代碼:

Option Explicit
Dim rp As Response
Dim rq As Request
Dim ap As Application
Dim sr As Server
Dim sn As Session
Dim Conn As ADODB.Connection ''創(chuàng)建conn全局變量
Dim RS As ADODB.Recordset '' 創(chuàng)建全避變量rs

Public Sub OnStartPage(MyScriptingContext As ScriptingContext)
Set rp = MyScriptingContext.Response
Set rq = MyScriptingContext.Request
Set sr = MyScriptingContext.Server
Set ap = MyScriptingContext.Application
Set sn = MyScriptingContext.Session

End Sub

Public Sub OnEndPage()
Set rp = Nothing
Set rq = Nothing
Set sr = Nothing
Set ap = Nothing
Set sn = Nothing
End Sub

Public Function openConn()
Dim str As String
Set Conn = sr.CreateObject("ADODB.Connection")

str = "Provider=microsoft.Jet.OLEDB.4.0;Data Source=" & sr.MapPath("/mssdatabase/dbtest.mdb") &";data password=123456789"
Conn.Open str
If Err.Number <> 0 Then ''就是在社里返回喔

openConn = False

Else

openConn = True

End If
End Function

Public Function execute(sql) As ADODB.Recordset ''創(chuàng)建一個(gè)execute的方法,返回為recordset對(duì)像
Set RS = New ADODB.Recordset
RS.CursorLocation = adUseClient

Call openConn ''這句得要加,好像在外部的asp中不能觸發(fā)全局conn變量,不知為此??

RS.Open sql, Conn, 3, 3
Set execute = RS
End Function

  編譯該工程時(shí),切記引用(工程>引用)"Microsoft active server pages object library"和"microsoft activexX data object 2.6 library"兩個(gè)庫類(感覺像c#的using差不多一樣),然后編譯成dll(文件>生成myconn.dll),一般vb編譯成dll都會(huì)在系統(tǒng)中自動(dòng)注冊,如果是ntsf分區(qū),給該dll加個(gè)everyone 可讀,執(zhí)行權(quán)限,然后到asp里調(diào)用,實(shí)現(xiàn)代碼如下:

<%
dim conn
dim dbLink

dbLink="2"

if dbLink="1" then ''如果代碼在別的機(jī)器上運(yùn)行就使用dll組件鏈接數(shù)據(jù)庫,否則就使用本地鏈接
Set conn=Server.CreateObject("myconn.dbconn")
conn.openConn
else
set conn=Server.CreateObject("ADODB.CONNECTION")
DBPath = Server.MapPath("/mssdatabase/dbtest.mdb")

conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& DBPath
end if
%>

  由于兩種鏈接方式都只是使用了一個(gè)conn對(duì)像,所以不用對(duì)其他代碼進(jìn)行大修改,還是比較方便,目前dll中的execute方法對(duì)select操作已經(jīng)測試通過,還有insert、update、delete等方法有待完善。

  附件為myconn工程文件全部代碼:點(diǎn)擊這里下載源文件

熱門評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)
主站蜘蛛池模板: 色视频网址| 精品日本久久久久久久久久 | 精品一区二区三区无卡乱码 | 四虎免费在线 | 九九精品视频一区在线 | 久久久不卡国产精品一区二区 | 久久99久久精品视频 | 免费人成在线观看网站品爱网 | 第一福利在线观看永久视频 | 久久天天躁狠狠躁狠狠躁 | 国产婷婷色综合成人精品 | 福利在线视频一区热舞 | 福利三区| 久久瑟瑟| 午夜毛片网站 | 啦啦啦视频在线 | 久久精品国产亚洲7777 | 免费一级毛片在线播放 | 狠狠干中文字幕 | 国产福利免费视频 | 国产精品天堂avav在线 | 国产精品久久久久久久久久98 | 草草影院第一页yycccom | 国产97在线 | 亚洲 | 久久精品欧美日韩精品 | 国产欧美一区视频在线观看 | 成人小视频在线观看 | 欧美成人看片一区二区三区 | 久久久久久免费观看 | 精品伊人| 四虎国产精品成人永久免费影视 | 久久国产精品明星换脸 | 丁香六月激情婷婷 | 国产成人三级经典中文 | 四虎在线精品观看免费 | 色人阁五月 | 久久精品视频一区 | 操你.com | 男女羞羞的视频网站在线观看 | 九九在线精品视频播放 | 亚洲狠狠婷婷综合久久久图片 |