国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

用VB編寫組件—封裝數據庫的連接字符串

2024-07-21 02:15:42
字體:
來源:轉載
供稿:網友
如今,開發web應用程序絕大多數都是使用browser/server模式,而在b/s 應用程序開發領域中,微軟公司的iis/asp組合以其強大的功能、良好的擴展能力及與其它微軟產品良好的兼容性,迅速地流行起來。asp以其簡單易學、功能強大而博得廣大程序員的喜愛,國內的大部分網站都是利用asp架構的。當我們使用ado訪問數據庫時,有時是把連接字符串顯式的寫在.asp文件中,這樣做顯然不太安全,很容易被別有用心的人獲取密碼、數據庫名等信息。為了數據的安全,我們可以自己編寫組件來封裝訪問數據庫的字符串,然后再在global.asa文件或.asp也面上調用即可。

一、下面我們就來一步一步的創建組件:

啟動vb6.0新建-->activex dll工程。單擊"工程"-->引用,選擇"microsoft active server pages object library"和"microsoft activex data objects 2.1 library"兩項。將類模塊的名稱改為wenconnection.將工程的名稱改為wenadodb.保存工程文件wenadodb.vbp和類文件wenconnection.cls。具體做法:1)選擇“工程”—>“引用”進入引用用戶選擇界面如圖1所示,在“可用的引用”復選框選擇"microsoft active server pages object library"和"microsoft activex data objects 2.1 library"兩項。


圖1

2)選擇“工程”—>“工程屬性”進入工程屬性設置界面,選“通用”頁,在“工程類型”的下拉框中選擇“activex dll”,在工程名輸入框中輸入工程名為“wenadodb”,如圖2所示。


圖2

3)再選擇“編譯”頁,選中“代碼大小優化”一項,如圖3所示。


圖3

至此,我們對新建的工程的屬性、引用等基本設置完成。

二、接下來我們就在類wenconnection.cls中寫入代碼:

1)首先要申明變量:

private wenscriptingcontext as scriptingcontext

private wenapplication as application

private wenrequest as request

private wenresponse as response

private wenserver as server

private wensession as session

2)為了在wenconnection類中使用asp的內建對象,必須在此類中寫一個onstartpage子函數。那是因為無論什么時候用戶訪問一個帶有本組件的asp文件,iis就會把scriptingcontext傳送給我們的對象請我們使用。這個scriptingcontext包括了全部的asp方法和屬性,這使得我們有能力訪問所有asp的對象。

public sub onstartpage (passedscriptingcontext as scriptingcontext)

set wenscriptingcontext = passedscriptingcontext

set wenapplication = wenscriptingcontext.application

set wenrequest = wenscriptingcontext.request

set wenresponse = wenscriptingcontext.response

set wenserver = wenscriptingcontext.server

set wensession = wenscriptingcontext.session

end sub

我們既然用onstartpage函數來創建對象,那么我們這里就用onendpage子函數來釋放對象:

public sub onendpage()

set wenscriptingcontext = nothing

set wenapplication = nothing

set wenrequest = nothing

set wenresponse = nothing

set wenserver = nothing

set wensession = nothing

end sub

接下來定義兩個函數rsresult()和datasource():

public function rs(strsql as string) as recordset

dim oconn as connection

dim ors as recordset

dim strconnstring as string

strconnstring = "driver={sql server};server=servername;uid=sa;pwd=;" & _

"database=databasename"

oconn.open strconnstring

ors.activeconnection = oconn

strsql="select * from tablename"

ors.open strsql, oconn, 1, 3

set rs = ors

end function



public function datasourceconnection() as variant

datasourceconnection = "driver={sql server};server=servername;uid=sa;pwd=;database=databasename"

end function

三、 存工程名為wenadodb.vbp和保存類名為wenconnection.cls,然后點擊“文件”—>“生成wenadodb.dll”編譯成動態連接庫文件。vb在編譯好動態連接庫文件的同時也將該組件注冊到注冊表里了,要是想在另外一臺機器上注冊該組件的話,請用以下指令注冊或反注冊:

regsvr32 x:/路徑/wenadodb.dll x:/路徑/為wenadodb.dll文件存放的盤符和路徑

regsvr32 /u x:/路徑/wenadodb.dll 參數u為反注冊

四、 在asp文件中調用wenadodb.dll組件的例子。

<%

set conn=server.createobject("wenadodb.wenconnection") ‘調用組件創建對象實例

objconn=conn.datasourceconnection()

application("strconn")=objconn



set rs=server.createobject("adodb.recordset")

sql="select * from tablename order by id desc"

rs.open sql,application("strconn"),1,3

%>

<table align="center" border="1">

<%

if rs.bof and rs.eof then

response.write "暫時還沒有任何數據。"

else

do while not rs.eof

%>

<tr width=100%>

<td width=50%><%=rs("field1")%></td><td width=50%><%=rs("field2")%></td>

</tr>

<%

rs.movenext

loop

end if

rs.close;set rs=nothing

%>

</table>

五、 小結

我們這里只是編

|||寫了一個連接數據庫的簡單的動態連接庫文件,利用vb的強大組件編寫功能還可以寫出功能更加強大跟齊全的組件,來完成更加實用的任務。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰县| 安远县| 涿鹿县| 桑日县| 镇安县| 武定县| 金堂县| 威信县| 郓城县| 云梦县| 兴安县| 肥城市| 工布江达县| 信阳市| 哈尔滨市| 远安县| 淮滨县| 文水县| 三原县| 宝应县| 富阳市| 都江堰市| 达州市| 敦化市| 海淀区| 鄱阳县| 凯里市| 边坝县| 富顺县| 宁陵县| 武隆县| 临汾市| 绩溪县| 望江县| 宁都县| 泾阳县| 紫阳县| 繁峙县| 通山县| 怀来县| 鄂温|