ASP實(shí)用大全-ASP服務(wù)器組件(7)
發(fā)表時(shí)間:2024-06-12 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]ASP服務(wù)器組件編程心得 使用ASP編程的一大優(yōu)點(diǎn)是可以使用眾多的服務(wù)器組件(ActiveX Server Components)。這些組件提供諸如廣告輪顯(Ad Rotator)、瀏覽器兼容(Browser Capabilities)、數(shù)據(jù)庫存取(Database Access)、文件超...
ASP服務(wù)器組件編程心得
使用ASP編程的一大優(yōu)點(diǎn)是可以使用眾多的服務(wù)器組件(ActiveX Server Components)。這些組件提供諸如廣告輪顯(Ad Rotator)、瀏覽器兼容(Browser Capabilities)、數(shù)據(jù)庫存。―atabase Access)、文件超鏈接(Content Linking)、文件存。‵ile Access)等等功能。使用服務(wù)器組件,可以通過非常簡單的方式高效率地完成各種復(fù)雜的工作。
一般,ASP的各個(gè)組件通常使用 Server.CreateObject 方法來創(chuàng)建。例如,創(chuàng)建一個(gè)AD Rotator 組件可用:
<%
set ad = Server.CreateObjet (“MSWC.AdRotator”)
%>
在ASP的各個(gè)組件中,ActiveX Data Object(ADO)組件有著極為重要的作用。它是一種可以提供Web頁面設(shè)計(jì)開發(fā)人員快速存取Internet的數(shù)據(jù)庫,并在用戶端實(shí)現(xiàn)網(wǎng)上實(shí)時(shí)更新顯示的Web數(shù)據(jù)庫技術(shù);ADO幾乎兼容于各種數(shù)據(jù)庫系統(tǒng),而且跨越多種不同的程序語言開發(fā)環(huán)境。
例如,我們?cè)诰W(wǎng)上向本公司的客戶群提供各種硬件的升級(jí)程序,與此同時(shí),我們希望能夠記錄下客戶的相關(guān)資料。在以前,這種Web上的交互操作一般采用CGI來完成,不僅難以書寫和維護(hù),而且對(duì)處理器的消耗很大,F(xiàn)在,我們使用ASP的ADO組件,就可以在短短的兩個(gè)小時(shí)輕輕松松的完成以前需要三天才能完成的開發(fā)工作,而且還不必花費(fèi)太多的時(shí)間和精力放在維護(hù)上。
首先,我們需要寫一個(gè)供用戶填寫資料的表格頁面,或者我們還可以將這個(gè)頁面與后面的ASP處理程序放在同一個(gè)文件里,只需要我們?cè)冢糵orm>代碼中注明Action的對(duì)象是本程序(要么就什么都不寫)。
假定我們的程序名是download.html,下面是原代碼:
<html>
<body>
`聲明提交方法及傳遞信息的方式
<form METHOD="POST" ACTION="download.asp">
<font face=arial>
<table border="0" align=center>
<tr>
<td><font color="black" size="2"><b>Name:</b></font></td>
<td><input TYPE="text" SIZE="30" NAME="name"></td>
</tr>
<tr>
<td><font color="black" size="2"><b>Telephone:</b></font></ #@62;
<td><input TYPE="text" SIZE="30" NAME="telephone"></td>
</tr>
<td><font color="black" size="2"><b>E-mail:</b></font></td>
<td><input TYPE="text" SIZE="30" NAME="email"></td>
</tr>
<tr>
<td><font color="black" size="2"><b>Address:</b></font></td>
<td><input TYPE="text" SIZE="30" NAME="address"></td>
</tr>
<tr>
</table>
<hr>
<table align=center><tr>
<td><input TYPE="Submit" VALUE="Submit"></td>
<td width=30></td>
<td><input TYPE="Reset" VALUE="Reset"></td>
</tr></table>
</font>
</form>
</body>
</html>
然后,我們開始編寫數(shù)據(jù)處理程序download.asp。
<script language=vbscript runat=server>
`設(shè)置緩沖區(qū)屬性
response.buffer=true
Dim name
判斷有關(guān)字段是否為空
if Len(request.form("name"))=0 then
name="Not Entered"
else
不為空時(shí),利用Response對(duì)象讓Server獲取表格中“name”字段內(nèi)容
name=request.form("name")
end if
Dim telephone
if Len(request.form("telephone"))=0 then
telephone="Not Entered"
else
telephone=request.form("telephone")
end if
Dim address
if Len(request.form("address"))=0 then
address="Not Entered"
else
address=request.form("address")
end if
由于我們將采取Email發(fā)送的方式將該下載軟件提供給用戶,所以我們必須要求客戶提供有效的Email地址。
Dim email
email=request.form("email")
`判定客戶填寫的“Email”資料中是否含有特別字符“@”
if instr(email,"@")=0 then
`若為否,引導(dǎo)客戶至“back.htm”的提示頁面。
response.redirect("back.htm")
else
建立數(shù)據(jù)庫連接通道
Set objConn = Server.CreateObject("ADODB.Connection")
打開需要的數(shù)據(jù)庫
objConn.Open("download")
創(chuàng)建對(duì)象接口
set objRst = Server.CreateObject("ADODB.Recordset")
set objRst.ActiveConnection = objConn
設(shè)定對(duì)數(shù)據(jù)庫更新數(shù)據(jù)時(shí)的鎖定機(jī)制為:數(shù)據(jù)在更新時(shí)并未鎖定其他用戶的動(dòng)作。
objRst.LockType = 3
數(shù)據(jù)庫源
objRst.Source = "client"
控制數(shù)據(jù)更新后過濾下載的數(shù)據(jù)類型
objRst.CursorType = adOpenKeyset
將從表格內(nèi)獲取的資料傳送到web服務(wù)器上的數(shù)據(jù)庫
objRst.Open
objRst.AddNew
objRst("company") = company
objRst("name") = name
objRst("telephone") = telephone
objRst("fax") = fax
objRst("email") = email
objRst("address") = address
objRst.Update
objRst.close
關(guān)閉連接
objConn.close
下面是利用IIS4.0附帶的Email組件CDONTS發(fā)送郵件
Dim objMail
建立一個(gè)Email組件
set objMail=Server.CreateObject("CDONTS.NewMail")
郵件發(fā)送者的Email地址
objMail.From="me@hotmail.com"
郵件接收者的Email地址
objMail.To=email
郵件的標(biāo)題
objMail.Subject="Thank you!"
郵件的正文
objMail.Body="This is the software of Virtual Drive 2000 Network."
在郵件里附加文件,“絕對(duì)路徑”,“文件名”。若為URL地址,則改為ObjMail.AttachUrl
objMail.AttachFile "d:/power/download/vdn2kdm.exe", "vdn2kdm.exe"
發(fā)送郵件
objMail.Send
將Email對(duì)象從內(nèi)存中清除
Set objMail=nothing
response.write "<p><font face=arial size=3 color=blue><b>Thank you!<br>W(wǎng)e have sent the file pass your Email, please wait...</b></font></p>"
end if
</script>
到這里,一個(gè)很不錯(cuò)的web數(shù)據(jù)庫交互操作程序就大功告成,而且,它還帶有向客戶發(fā)送Email的功能,方便客戶利用Email下載較大的文件。