六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

在ASP中編寫DLL的問(wèn)題

[摘要]ActiveX DLL 可以用來(lái)保護(hù)代碼的一些部分,因?yàn)樽鳛殚_(kāi)發(fā)人員我們知道,用ASP進(jìn)行工作時(shí),源代碼控制是一個(gè)艱難而瑣碎的過(guò)程。ActiveX DLL 是經(jīng)過(guò)編譯的代碼,沒(méi)有工程文件中的源代碼就不能對(duì)其進(jìn)行修改。這就給開(kāi)發(fā)人員帶來(lái)許多可能:開(kāi)發(fā)自動(dòng)操作公共程序的程序并將它們作為共享軟件來(lái)分發(fā),...

ActiveX DLL 可以用來(lái)保護(hù)代碼的一些部分,因?yàn)樽鳛殚_(kāi)發(fā)人員我們知道,用ASP進(jìn)行工作時(shí),源代碼控制是一個(gè)艱難而瑣碎的過(guò)程。ActiveX DLL 是經(jīng)過(guò)編譯的代碼,沒(méi)有工程文件中的源代碼就不能對(duì)其進(jìn)行修改。這就給開(kāi)發(fā)人員帶來(lái)許多可能:開(kāi)發(fā)自動(dòng)操作公共程序的程序并將它們作為共享軟件來(lái)分發(fā),分發(fā)至少有一些源代碼保護(hù)的ASP應(yīng)用程序,不斷開(kāi)發(fā)自己的ASP程序指令,以在一個(gè)全方位多功能的結(jié)果中提高ASP的性能。

你所安裝的第一個(gè)ActiveX DLL 文件將注冊(cè)并安裝Visual Basic 6 的運(yùn)行時(shí)間文件,它允許運(yùn)行經(jīng)過(guò)編譯的代碼。但是要注意,這還要求重新啟動(dòng)服務(wù)器。當(dāng)一個(gè)現(xiàn)存的DLL被安裝并使用之后,如果想要對(duì)其進(jìn)行升級(jí), 服務(wù)器就將給出一個(gè)錯(cuò)誤信息提示,說(shuō)此文件正被另一個(gè)過(guò)程所使用。要糾正這一問(wèn)題,也要重新啟動(dòng)服務(wù)器后才能完成DLL的升級(jí)。請(qǐng)記住在開(kāi)發(fā)中要使用一個(gè)測(cè)試環(huán)境。

雖然這個(gè)例子非常簡(jiǎn)單,用一個(gè)ASP包含文件就可以輕易地實(shí)現(xiàn),但當(dāng)開(kāi)發(fā) ActiveX DLL 時(shí),你可以使用 Visual Basic 的全套基本指令、系統(tǒng)外殼指令以及所有控制臺(tái)所能進(jìn)行的操作,因此也就允許在線網(wǎng)站和內(nèi)部互聯(lián)網(wǎng)的全部自動(dòng)控制。這樣就把原來(lái)用ASP包含文件實(shí)現(xiàn)的 ActiveX DLL 的性能進(jìn)行了拓展。

在用組合框選擇填充的數(shù)據(jù)庫(kù)域中存儲(chǔ)查詢關(guān)鍵字的值,提高數(shù)據(jù)的完整性,輕易地在整個(gè)數(shù)據(jù)庫(kù)中進(jìn)行層疊式更新,這些都是很普通的操作。舉例來(lái)說(shuō),現(xiàn)在有一個(gè)拼寫錯(cuò)誤的文本描述,可以在查循表中進(jìn)行修改,所有選擇了這個(gè)描述的相關(guān)條目都會(huì)自動(dòng)地修改,因?yàn)槲覀円呀?jīng)存儲(chǔ)了與這個(gè)描述相關(guān)的數(shù)字。組合框以查詢表的內(nèi)容為基礎(chǔ),這些內(nèi)容將查詢關(guān)鍵字的值與其描述聯(lián)系起來(lái),如果系統(tǒng)使用了許多查詢的話,產(chǎn)生這些組合框的代碼會(huì)變得非常重復(fù)。本文用 ActiveX DLL 來(lái)簡(jiǎn)化創(chuàng)建HTML組合框的程序,用一個(gè)數(shù)據(jù)庫(kù)查詢表中的內(nèi)容進(jìn)行填充。例子中的表名為lookup_table,它有以下域:

Lookup_Key: 存儲(chǔ)在數(shù)據(jù)庫(kù)中的值
Lookup_Field: 對(duì)查詢?cè)剡M(jìn)行分類
Lookup_Description: 顯示在組合框中的描述
要?jiǎng)?chuàng)建ActiveX DLL,步驟如下:

開(kāi)始一個(gè)新的visual basic 工程文件;
選擇ActiveX DLL 作為工程文件類型;
在Properties 窗口,命名類模塊和工程文件。將工程文件命名為keiths_lookup ,將模塊命名為lookup 。 ASP引用DLL函數(shù)時(shí)要使用這些名字。以后在ASP碼中,將要引用一個(gè)名為keiths_lookup.lookup的服務(wù)器對(duì)象。
用同樣的名字保存工程文件和模塊,其中工程文件的擴(kuò)展名為.vbp ,類模塊的擴(kuò)展名為.cls 。在本例中 工程文件的名字為keiths_lookup,模塊的名字為lookup。
在工程菜單中,選擇References 。這是你可以使用的其它應(yīng)用程序?qū)ο�。在本例中,檢查Microsoft ActiveX data objects 2.0 庫(kù)和Microsoft ActiveX Data Objects Recordset 2.0 庫(kù)。
在包含查詢表的IIS服務(wù)器數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)名為Sumnet 的數(shù)據(jù)集。這個(gè)數(shù)據(jù)庫(kù)沒(méi)有用戶名和口令。

現(xiàn)在可以鍵入以下代碼:


Public Function html_combo(comboname As String, Lookup_field As String) As String

Dim outstring As String
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sqlstring As String

Set conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")

Sqlstring = "SELECT [Lookup_Description],[Lookup_Key] FROM
[Lookup_Table] WHERE [Lookup_Field] = '" & Lookup_Field & "'"

conn.Open "DSN=Sumnet;UID=;PWD=.;"
rst.Open sqlstring, conn, 3, 3
If Not rst.EOF Then
rst.MoveFirst
outstring = "< Select name='" & comboname & "' >"
Do While Not rst.EOF
outstring = outstring & "< Option Value='" &
rst.Fields("lookup_key") & "' >" & _
rst.Fields("lookup_description") & "< /Option > "
rst.MoveNext
Loop
End If

outstring = outstring & "< /Select >"
html_combo = outstring
rst.Close
conn.Close

End Function

然后,保存工程文件和類模塊。

編譯工程文件的步驟如下:

啟動(dòng)Visual Studio 6.0 工具中的Package Deployment Wizard ;
選擇剛才創(chuàng)建的ActiveX 工程文件;
點(diǎn)擊Package;
選擇打包腳本名或使用默認(rèn)值;
選擇Standard Setup ;
選擇一個(gè)放置安裝文件的文件夾;
選擇單個(gè)cab;
點(diǎn)擊Next使用其它默認(rèn)選項(xiàng);
在IIS服務(wù)器上運(yùn)行setup。

現(xiàn)在可以通過(guò)ASP代碼使用DLL,因?yàn)樵谙到y(tǒng)數(shù)據(jù)庫(kù)中它已經(jīng)被注冊(cè)了。下面的ASP代碼將使用所創(chuàng)建的LL內(nèi)部的函數(shù)。它將產(chǎn)生三個(gè)組合框,一個(gè)用州來(lái)填充,一個(gè)用位置填充,另外一個(gè)用年齡組。第一個(gè)參數(shù)將成為網(wǎng)頁(yè)上的對(duì)象名,第二個(gè)參數(shù)是用來(lái)填充組合框中查詢域的值。


< %@ Language="VBSCRIPT" % >
< %
Set look = Server.CreateObject("keiths_lookup.lookup")
% >

< HTML >< BODY >

< %=look.html_combo("State","States")% >
< %=look.html_combo("Position","Positions")% >
< %=look.html_combo("Age_group","Age_Groups")% >

< /BODY >
< /HTML >

這個(gè)例子非常簡(jiǎn)單。通過(guò)使用更多的參數(shù),如表名、域名等,可以創(chuàng)建許多便攜式的函數(shù),這些函數(shù)可以用在你的工作中所遇到的各種各樣的應(yīng)用程序中。

因?yàn)檫@些代碼是在服務(wù)器一端水平上運(yùn)行的,所以客戶機(jī)不需要安裝任何東西。這僅僅是用ActiveX DLL所能實(shí)現(xiàn)的功能的小小的例子。只需要一點(diǎn)點(diǎn)努力,就可以得到一個(gè)在網(wǎng)絡(luò)用戶中不同凡響的多功能應(yīng)用程序。
(出處:熱點(diǎn)網(wǎng)絡(luò))


相關(guān)文章

主站蜘蛛池模板: 亚洲欧美v视色一区二区 | 亚洲欧美日韩精品永久在线 | 在线免费视频国产 | 亚洲一欧洲中文字幕在线 | 尹人久久久香蕉精品 | 日韩免费小视频 | 午夜影库| 天天干天天爽天天射 | 青青国产线免观看手机版精品 | 天天干天天射天天插 | 日日碰碰 | 四虎在线视频免费观看 | 日本叼嗨 | 香蕉免费一区二区三区 | 三级在线观看免播放网站 | 日本草草影院 | 最新狠狠色狠狠色综合 | 欧美一级第一免费高清 | 欧美一线天 | 日韩精品第一区 | 五月天婷婷在线观看视频 | 一二三四免费高清观看在线观看 | 亚洲人成在线观看男人自拍 | 日日摸夜夜爽夜夜爽出水 | 色综网 | 色无极在线 | 中文字幕人成乱在线视频 | 色吧综合网 | 一级黄色免费片 | 午夜影院免费视频 | 日本一区二区三区四区五区 | 色吊丝欧美 | 最新91网址| 在线观看视频一区二区 | 色噜噜狠狠一区二区 | 婷婷丁香在线视频 | 日韩一区国产二区欧美三 | 午夜影院免费观看视频 | 亚洲免费精品视频 | 中文字幕天堂最新版在线网 | 亚洲成年人免费网站 |