ASP伺服器組件編程心得

來源:互聯網
上載者:User
編程|伺服器|心得 作者;小刀
  使用ASP編程的一大優點是可以使用眾多的伺服器組件(ActiveX Server Components)。這些組件提供諸如廣告輪顯
(Ad Rotator)、瀏覽器安全色(Browser Capabilities)、資料庫存取(Database Access)、檔案超連結(Content
Linking)、檔案存取(File Access)等等功能。使用伺服器組件,可以通過非常簡單的方式高效率地完成各種複雜的工
作。

  一般,ASP的各個組件通常使用 Server.CreateObject 方法來建立。例如,建立一個AD Rotator 組件可用:

<%

set ad = Server.CreateObjet (“MSWC.AdRotator”)

%>

  在ASP的各個組件中,ActiveX Data Object(ADO)組件有著極為重要的作用。它是一種可以提供Web頁面設計開發人
員快速存取Internet的資料庫,並在使用者端實現網上即時更新顯示的Web資料庫技術;ADO幾乎相容於各種資料庫系統,而
且跨越多種不同的程式語言開發環境。

  例如,我們在網上向本公司的客戶群提供各種硬體的升級程式,與此同時,我們希望能夠記錄下客戶的相關資料。在
以前,這種Web上的互動操作一般採用CGI來完成,不僅難以書寫和維護,而且對處理器的消耗很大。現在,我們使用ASP的
ADO組件,就可以在短短的兩個小時輕輕鬆鬆的完成以前需要三天才能完成的開發工作,而且還不必花費太多的時間和精力
放在維護上。

  首先,我們需要寫一個供使用者填寫資料的表格頁面,或者我們還可以將這個頁面與後面的ASP處理常式放在同一個檔案
裡,只需要我們在<form>代碼中註明Action的對象是本程式(要麼就什麼都不寫)。

  假定我們的程式名是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></td>

<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>

  然後,我們開始編寫資料處理程式download.asp。

<script language=vbscript runat=server>

`設定緩衝區屬性

response.buffer=true

Dim name

  判斷有關欄位是否為空白

if Len(request.form("name"))=0 then

name="Not Entered"

else

  不為空白時,利用Response對象讓Server擷取表格中“name”欄位內容

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發送的方式將該下載軟體提供給使用者,所以我們必須要求客戶提供 有效Email地址。

Dim email

email=request.form("email")

  `判定客戶填寫的“Email”資料中是否含有特別字元“@”

if instr(email,"@")=0 then

`若為否,引導客戶至“back.htm”的提示頁面。

response.redirect("back.htm")

else

  建立資料庫連接通道

Set objConn = Server.CreateObject("ADODB.Connection")

  開啟需要的資料庫

objConn.Open("download")

  建立對象介面

set objRst = Server.CreateObject("ADODB.Recordset")

set objRst.ActiveConnection = objConn

  設定對資料庫更新資料時的鎖定機製為:資料在更新時並未鎖定其他使用者的動作。

objRst.LockType = 3

  資料庫源

objRst.Source = "client"

  控制資料更新後過濾下載的資料類型

objRst.CursorType = adOpenKeyset

  將從表格內擷取的資料傳送到web伺服器上的資料庫

objRs



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。