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

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

商業(yè)網(wǎng)站應(yīng)用設(shè)計

[摘要]這篇文章介紹了商業(yè)網(wǎng)站應(yīng)用設(shè)計,包括特價商品線上查詢系統(tǒng)、線上購物系統(tǒng)、房屋仲介線上查詢系統(tǒng)、線上擇友系統(tǒng)、線上買賣交易系統(tǒng)、線上徵求命名系統(tǒng)、雜志線上查詢訂講系統(tǒng)、生活資訊線上查詢系統(tǒng)、電影查詢預(yù)...

這篇文章介紹了商業(yè)網(wǎng)站應(yīng)用設(shè)計,包括特價商品線上查詢系統(tǒng)、線上購物系統(tǒng)、房屋仲介線上查詢系統(tǒng)、線上擇友系統(tǒng)、線上買賣交易系統(tǒng)、線上徵求命名系統(tǒng)、雜志線上查詢訂講系統(tǒng)、生活資訊線上查詢系統(tǒng)、電影查詢預(yù)約系統(tǒng)、電臺線上查詢系統(tǒng)、線上多人游戲系統(tǒng)等應(yīng)用的點子、設(shè)計實例、以及詳細解說,讓您快速地設(shè)計出各種商業(yè)的網(wǎng)站應(yīng)用。

商業(yè)網(wǎng)站資料庫應(yīng)用
商業(yè)上使用網(wǎng)站資料庫,可以透過Internet、或Intranet提供以下的應(yīng)用∶
* 特價商品線上查詢*
* 線上購物*
* 房屋仲介線上查詢*
* 線上擇友*
* 線上買賣交易
* 線上徵求命名
* 線上雜志查詢訂講
* 生活資訊線上查詢
* 電影查詢預(yù)約
* 電臺線上查詢 
* 線上多人游戲
右上角標示*的應(yīng)用,本節(jié)將提供設(shè)計的范例,并詳加解說。
執(zhí)行本章資料庫的范例,所用的資料庫可為Microsoft Access、Microsoft SQL Server、或Text檔案(讀者可修改成其他支援ODBC的資料庫,詳見1-6-5節(jié)),須於NT安裝IIS 3.0,并於「控制臺」中的「ODBC」,新建一個名稱為「BookSamp」的資料來源,驅(qū)動程式為「Microsoft Access Driver」、「SQL Server」、或「Microsoft Text 驅(qū)動程式」。詳見附錄 范例磁片。

1
特價商品線上查詢系統(tǒng)
「特價商品線上查詢系統(tǒng)」,可以透過Internet,查詢價商品的資訊。
透過Internet,連線上公司、百貨公司、超市、量販店的「特價商品線上查詢系統(tǒng)」,即可線上查詢今天特價商品的資訊,包括特價商品的價格、外觀圖片等。
設(shè)計實例
讓我們執(zhí)行一個實例。
( 范例 data6.asp 特價商品線上查詢
若要查詢資料,於用戶端使用瀏覽器,瀏覽本書所附安裝於網(wǎng)站伺服器的data6.asp,即可顯示查詢的結(jié)果如下,包括名稱、外觀圖片、原價、特價∶ 

設(shè)計實例詳細解說
建立資料表
首先使用Microsoft Access、Microsoft SQL Server 、Text檔案、或任何一種支援ODBC的資料庫,建立一個資料表Goods。
於欄名GIF、NAME、PRICE1、PRICE2分別輸入外觀圖片檔名、名稱、原價、特價,若為特價商品時,於MARK欄位輸入「*」。
使用Microsoft Access建立一個資料表Goods,如下∶ 

或使用Microsoft SQL Server建立一個資料表Goods,如下∶ 

或使用Text檔案建立一個資料表Goods,如下∶ 

查詢資料庫
接著,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
再使用SELECT的SQL指令查詢資料庫的資料,設(shè)定SQL指令,查詢資料表Goods中欄位MARK為「*」的特價商品,下個「Execute」指令,即可開始執(zhí)行存取查詢資料庫的動作,并將查詢結(jié)果儲存到RecordSets物件RS。
程式碼如下∶
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT NAME,GIF,PRICE1,PRICE2 FROM Goods WHERE MARK = '*'"
Set RS = Conn.Execute(SQL)
接著,要顯示查詢的結(jié)果了。
首先,由「 IF RS.EOF THEN ...」判斷是否找到欄位MARK為「*」的特價商品,若RS.EOF為TRUE,則顯示「今日無特價商品」。
程式碼,如下∶
查詢結(jié)果:<br>
<% IF RS.EOF THEN %>
<FONT COLOR="#FF0000">今日無特價商品</FONT>
若找到欄位MARK為「*」的特價商品,則顯示特價商品之名稱、外觀圖片、原價、特價,分別由RecordSets物件的RS(0)、RS(1) 、RS(2)、RS(3) 取得。
RS.Fields.Count表示RecordSets物件的欄位數(shù),由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各欄位的資料。配合<TABLE>表格的HTML語法,將結(jié)果填入表格的各欄位當中。
若還有下一筆資料,使用RS.MoveNext移到下一筆的位置。
程式碼,如下∶
<% ELSE %>
<FONT COLOR="#0000ff">特價商品如下:</FONT> 

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>名稱</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>外觀</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>原價</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>特價</FONT></TD>
</TR>


<% Do While Not RS.EOF %>
<TR> 

<% For i = 0 to RS.Fields.Count - 1 %>
<TD BGCOLOR="f7efde" ALIGN=CENTER>
<% If RS(i).Name = "GIF" Then %>
<img src= <%= RS(i) %> width=50 height=50> 

<% Else %>
<FONT COLOR="#0000"><%= RS(i) %></FONT></TD>
<% END IF %> 

<% Next %>
</TR>
<%
RS.MoveNext
Loop 

RS.Close
Conn.Close
%>
</TABLE> 

<% END IF %>
最後,使用RS.Close關(guān)閉RecordSet,使用Conn.Close關(guān)閉資料庫。
全部的程式碼,如下∶
<HTML>
<HEAD>
<TITLE>特價商品線上查詢系統(tǒng)</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=big5">
</HEAD>
<CENTER> 

<BODY BGCOLOR=#FFFFFF>
<FONT SIZE=+2 COLOR="#0000FF">特價商品線上查詢系統(tǒng)</FONT>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT NAME,GIF,PRICE1,PRICE2 FROM Goods WHERE MARK = '*'"
Set RS = Conn.Execute(SQL)
%> 

<HR>
查詢結(jié)果:<br>
<% IF RS.EOF THEN %>
<FONT COLOR="#FF0000">今日無特價商品</FONT> 

<% ELSE %>
<FONT COLOR="#0000ff">特價商品如下:</FONT>
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>名稱</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>外觀</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>原價</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>特價</FONT></TD>
</TR>


<% Do While Not RS.EOF %>
<TR> 

<% For i = 0 to RS.Fields.Count - 1 %>
<TD BGCOLOR="f7efde" ALIGN=CENTER> 

<% If RS(i).Name = "GIF" Then %>
<img src= <%= RS(i) %> width=50 height=50> 

<% Else %>
<FONT COLOR="#0000"><%= RS(i) %></FONT></TD>
<% END IF %> 

<% Next %>
</TR> 

<%
RS.MoveNext
Loop
RS.Close
Conn.Close
%> 

</TABLE> 

<% END IF %> 

<HR>
</CENTER>
</BODY>
</HTML>
學會了嗎?











2
線上購物系統(tǒng)
「線上購物系統(tǒng)」,可以透過Internet,以使用信用卡付款的方式,訂購商品。
一般客戶,透過Internet,連線上公司的「線上購物系統(tǒng)」,輸入訂購商品與數(shù)量、信用卡付款資料,即可以完成線上訂購商品的手續(xù)。
可線上查詢商品的資訊,包括商品的價格、外觀圖片等。
訂購時,線上購物系統(tǒng)提供可以增加、取消、查詢訂購的功能。
訂購後,可線上查詢處理的結(jié)果,包括檢查存貨情況,告之預(yù)定交貨的時間、和交貨數(shù)量。
自動印出每日的訂購商品、和訂購數(shù)量,給相關(guān)部門出貨、向信用卡公司收款之用。
這個「線上購物系統(tǒng)」,也可用於連鎖店、直銷員、或經(jīng)銷商向總公司訂貨之用,在電腦輸入密碼、輸入訂購商品、與數(shù)量,即可以完成線上訂購商品的手續(xù)。
設(shè)計實例
讓我們執(zhí)行一個實例。
( 范例 data14.asp 線上購物
若要線上購物,於用戶端使用瀏覽器,瀏覽本書所附安裝於網(wǎng)站伺服器的data14.asp,於「信用卡種類」等處選擇和輸入信用卡的資料,并輸入、「消費總金額」、「商品代號」、「數(shù)量」後,按下「線上購物」按鈕,即可顯示線上購物的結(jié)果,包括信用卡的資料、訂購的資料、訂購單號碼如下∶ 

取消購物
線上購物後,可以取消所訂購的記錄,於「訂購單號碼」處選擇待取消的訂購單號碼,按下「取消購物」按鈕,即可顯示取消訂購單的結(jié)果如下∶ 

若待取消的訂購單尚未訂購過,則取消訂購單時將顯示「找不到訂購單」如下∶ 

查詢購物單
線上購物後,可以查詢所有訂購的記錄,僅須於「信用卡號」處輸入信用卡號後,按下「查詢購物單」按鈕,即可顯示查詢所有訂購的記錄如下∶ 

查詢購物單時,若尚未訂購過,則查詢購物單時將顯示「找不到訂購單」如下∶ 

設(shè)計實例詳細解說
建立資料表
首先使用Microsoft Access、Microsoft SQL Server 、Text檔案、或任何一種支援ODBC的資料庫,建立一個資料表GoodsTrans,儲存訂購單記錄。
建立欄位ID、TYPE、VALID、GOODS、QTY、AMOUNT、SN,分別代表一個訂購記錄的信用卡號、信用卡種類、信用卡有效期限、持有人姓名、消費總金額、商品代號、數(shù)量、訂購單號碼。建立資料表時不必輸入資料。
使用Microsoft Access建立一個資料表GoodsTrans,如下∶ 

或使用Microsoft SQL Server建立一個資料表GoodsTrans,如下∶ 

或使用Text檔案建立一個資料表GoodsTrans,如下∶ 

設(shè)計輸入的表單
接著,設(shè)計輸入的表單form,線上購物時,當客戶選擇信用卡種類TYPE1,輸入信用卡號ID1,信用卡有效期限VALID1,持有人姓名NAME1,消費總金額AMOUNT1,商品代號GOODS1,數(shù)量QTY1,按下「線上購物」按鈕submit時,即使用POST的方式將輸入資料傳送到網(wǎng)站伺服器,并執(zhí)行於「form action=...」所設(shè)定的data14.asp檔案(與form為同一個ASP檔案),程式碼如下∶
線上購物, 請輸入以下資料:<br>
<form action="data14.asp" method="post">
<FONT COLOR="#FF8080">■ </FONT>信用卡種類: 

<select name="TYPE1">
<OPTION SELECTED>VISA
<OPTION>American Express
<OPTION>Master Card
</select><br> 
<FONT COLOR="#FF8080">■ </FONT>信用卡號: 
<INPUT TYPE=TEXT VALUE="1234-5678-9012-3456" NAME="ID1" SIZE=19><BR> 
<FONT COLOR="#FF8080">■ </FONT>信用卡有效期限: 
<INPUT TYPE=TEXT VALUE="8906" NAME="VALID1" SIZE=4><BR> 
<FONT COLOR="#FF8080">■ </FONT>持有人姓名: 
<INPUT TYPE=TEXT VALUE="李商隱" NAME="NAME1" SIZE=8><BR> 
<FONT COLOR="#FF8080">■ </FONT>消費總金額: 
<INPUT TYPE=TEXT VALUE="12000" NAME="AMOUNT1" SIZE=6><P> 
<FONT COLOR="#FF8080">■ </FONT>商品代號 (如123456): 
<INPUT TYPE=TEXT VALUE="123456" NAME="GOODS1" SIZE=10><BR> 
<FONT COLOR="#FF8080">■ </FONT>數(shù)量: 
<INPUT TYPE=TEXT VALUE="10" NAME="QTY1" SIZE=6><BR> 
<INPUT TYPE=submit VALUE="線上購物" name="Action"><p> 
<HR WIDTH = 30% ALIGN=LEFT>
<FONT COLOR="#FF0000">■ </FONT>訂購單號碼: 
<INPUT TYPE=TEXT NAME="SN1" SIZE=12>
<INPUT TYPE=submit VALUE="取消購物" name="Action"><P> 
<FONT COLOR="#00FF00">■ </FONT>信用卡號: 
<INPUT TYPE=TEXT VALUE="1234-5678-9012-3456" NAME="ID2" SIZE=19>
<INPUT TYPE=submit VALUE="查詢購物單" name="Action"><P>
</form> 
<form>
<FONT COLOR="#0000FF">■ </FONT><INPUT TYPE=button VALUE="查詢特價商品" OnClick="location.href='data6.asp'">
</form>
取消線上購物時,客戶輸入訂購單號碼SN1,按下「取消購物」按鈕submit送到網(wǎng)站伺服器。
查詢購物單時,客戶輸入信用卡號ID2,按下「查詢購物單」按鈕submit送到網(wǎng)站伺服器。
若按下「查詢特價商品」按鈕,將執(zhí)行data6.asp,以顯示特價商品。
當網(wǎng)站伺服器執(zhí)行data14.asp檔案時,首先經(jīng)由Request.Form("Action")取得所按submit按鈕上的顯示文字VALUE,Left(Request.Form("Action"),2)系只取前兩個中文字,若Request.Form("Action")非空白時,表示為表單輸入所呼叫執(zhí)行。
由「SELECT CASE Left(Request.Form("Action"),2) 」判斷是按了那個按鈕。若按鈕上前兩個字為「線上」時,則執(zhí)行AddGoods() 副程式;若為「取消」時,則執(zhí)行DeleteGoods() 副程式;若為「查詢」時,則執(zhí)行CheckGoods() 副程式。
<%
SELECT CASE Left(Request.Form("Action"),2)
CASE "線上"
AddGoods()
CASE "取消"
DeleteGoods()
CASE "查詢"
CheckGoods()
END SELECT
%>
線上購物
按了「線上購物」按鈕時,將執(zhí)行AddGoods() 副程式。
首先,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
於GoodsTrans資料表,使用「INSERT INTO...」指令新增一筆資料。此筆新增資料的欄位ID、TYPE、VALID、GOODS、QTY、AMOUNT為所輸入的表單資料。訂購單號碼欄位SN系設(shè)定為訂購時的日期時間。
程式碼如下∶
Sub AddGoods()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa","" 
SNNO = YEAR(DATE()) & MONTH(DATE()) & DAY(DATE()) & HOUR(NOW) & MINUTE(NOW) & SECOND(NOW) 
SQL = "INSERT INTO GoodsTrans VALUES('" & 
Request.Form("ID1") & "','" & Request.Form("TYPE1") & "','" & Request.Form("VALID1") & "','" & LEFT(Request.Form("NAME1"),3) & "','" & Request.Form("GOODS1") & "','" & Request.Form("QTY1") & "','" & Request.Form("AMOUNT1") & "','" & SNNO & "')" 
Set RS = Conn.Execute(SQL)
接著,要顯示執(zhí)行的結(jié)果了。總計兩個表格,一個為信用卡資料表,另一個為訂購資料表。
顯示執(zhí)行的結(jié)果時,配合<TABLE>表格的HTML語法,將結(jié)果填入表格的各欄位當中。
程式碼,如下∶
<FONT COLOR="#0000FF">線上購物結(jié)果:</FONT><br>
<FONT COLOR="#0000FF">訂購 OK ! 訂購單號碼為 <% =SNNO %></FONT><BR>
信用卡資料:<BR>
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>信用卡種類</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>信用卡號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>有效期限</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>姓名</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>消費總金額</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("TYPE1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("ID1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("VALID1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("NAME1"),3) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("AMOUNT1") %></FONT></TD>
</TR> 
</TABLE>
<BR>
訂購資料:<BR>
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>商品代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數(shù)量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>消費總金額</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>訂購單號碼</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("GOODS1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("QTY1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("AMOUNT1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =SNNO %></FONT></TD>
</TR> 
</TABLE> 
<%
Conn.Close
End Sub %>
最後,使用Conn.Close關(guān)閉資料庫。
取消購物
按了「取消購物」按鈕時,將執(zhí)行DeleteGoods() 副程式。
首先,先尋找到所待取消的訂購單,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
再使用SELECT的SQL指令查詢資料庫的資料,於GoodsTrans資料表,設(shè)定SQL指令,查詢訂購單號碼欄位符合所輸入Request.Form("SN1")的資料,下個「Execute」指令,即可開始執(zhí)行存取查詢資料庫的動作,并將查詢結(jié)果儲存到RecordSets物件RS。
由「IF RS.EOF THEN ...」判斷是否找到所待取消的訂購單,若RS.EOF為TRUE,表示找不到此訂購單,則顯示「找不到訂購單」。
程式碼如下∶
<%
Sub DeleteGoods()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT GOODS,QTY,AMOUNT,SN FROM GoodsTrans WHERE SN = '" & Request.Form("SN1") & "'" 
Set RS = Conn.Execute(SQL)
%>
<HR>
<FONT COLOR="#0000FF">取消訂購單結(jié)果:</FONT><br> 
<% 
IF RS.EOF THEN 
'找不到 ! 
%>
<FONT COLOR="#FF0000">找不到訂購單 <% =Request.Form("SN1") %> !</FONT>
若找到所待取消的訂購單,則於GoodsTrans資料表,使用「DELETE FROM...」指令刪除此筆訂購單資料。
接著,顯示執(zhí)行的結(jié)果,配合<TABLE>表格的HTML語法,將於GoodsTrans資料表刪除的訂購單資料,填入表格的各欄位當中,以顯示出來。
程式碼,如下∶
<% ELSE 
'取消訂購單 ! 
%>
<FONT COLOR="#FF0000">訂購單 <% =Request.Form("SN1") %> 已經(jīng)取消 !</FONT> 
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>商品代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數(shù)量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>消費總金額</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>訂購單號碼</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(0) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(1) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(2) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(3) %></FONT></TD>
</TR> 
</TABLE>
<%
'GoodsTrans刪除一筆
SQL = "DELETE FROM GoodsTrans WHERE SN = '" & Request.Form("SN1") & "'"
Set RS = Conn.Execute(SQL)
END IF 
Conn.Close
End Sub %>
最後,使用Conn.Close關(guān)閉資料庫。
查詢購物
按了「查詢購物單」按鈕時,執(zhí)行CheckGoods() 副程式。
首先,先尋找到所待查詢的購物單,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
再使用SELECT的SQL指令查詢資料庫的資料,於GoodsTrans資料表,設(shè)定SQL指令,查詢信用卡號ID符合所輸入Request.Form("ID2")的資料,下個「Execute」指令,即可開始執(zhí)行存取查詢資料庫的動作,并將查詢結(jié)果儲存到RecordSets物件RS。
由「IF RS.EOF THEN ...」判斷是否找到所待查詢信用卡號的所有購物單記錄,若RS.EOF為TRUE,表示找不到此信用卡號的購物單,則顯示「信用卡號...找不到訂購單」。
程式碼如下∶
<%
Sub CheckGoods()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT GOODS,QTY,AMOUNT,SN FROM GoodsTrans WHERE ID = '" & Request.Form("ID2") & "'"
Set RS = Conn.Execute(SQL)
%>
<HR>
<FONT COLOR="#0000FF">查詢訂購單結(jié)果:</FONT><br>
<% 
IF RS.EOF THEN 
'找不到訂購單 ! 
%>
信用卡號 <% =Request.Form("ID2") %> <FONT COLOR="#FF0000">找不到訂購單 !</FONT>
若找到信用卡號ID符合所輸入Request.Form("ID2")的資料,則顯示查詢的結(jié)果,包括商品代號、數(shù)量、消費總金額、訂購單號碼,分別由RecordSets物件的RS(0)、RS(1)、RS(2)、RS(3)取得。
RS.Fields.Count表示RecordSets物件的欄位數(shù),由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各欄位的資料。配合<TABLE>表格的HTML語法,將結(jié)果填入表格的各欄位當中。
由「If INT(j/2)*2 <> j Then... 」判斷顯示奇偶筆的訂購單資料,奇偶列顯示不同的顏色。
若還有下一筆資料,使用RS.MoveNext移到下一筆的位置。
程式碼,如下∶
<% ELSE %>
<% '有訂購單 ! %>
信用卡號 <% =Request.Form("ID2") %> <FONT COLOR="#0000ff">訂購單如下:</FONT> 
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>商品代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數(shù)量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>消費總金額</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>訂購單號碼</FONT></TD>
</TR>
<% j = 1 %> 
<% Do While Not RS.EOF %>
<TR> 
<% For i = 0 to RS.Fields.Count - 1 %>
<% If INT(j/2)*2 <> j Then %>
<TD BGCOLOR="E8FFFF" ALIGN=CENTER>
<FONT COLOR="#000000"><%= RS(i) %></FONT></TD> 
<% Else %>
<TD ALIGN=CENTER BGCOLOR="#C0FFFF">
<FONT COLOR="#000000"><%= RS(i) %></FONT></TD>
<% END IF %> 
<% Next %>
</TR> 
<%
RS.MoveNext
j = j + 1
Loop
%>
</TABLE> 
<% END IF 
RS.Close
Conn.Close
End Sub %>
最後,使用RS.Close關(guān)閉RecordSet,使用Conn.Close關(guān)閉資料庫。
全部的程式碼,如下∶
<HTML>
<HEAD>
<TITLE>線上購物系統(tǒng)</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=big5">
</HEAD> 
<BODY BGCOLOR=#FFFFFF>
<FONT SIZE=+2 COLOR="#0000FF">線上購物系統(tǒng)</FONT>
<%
SELECT CASE Left(Request.Form("Action"),2) 
CASE "線上"
AddGoods() 
CASE "取消"
DeleteGoods() 
CASE "查詢"
CheckGoods() 
END SELECT
Sub AddGoods()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SNNO = YEAR(DATE()) & MONTH(DATE()) & DAY(DATE()) & HOUR(NOW) & MINUTE(NOW) & SECOND(NOW) 
SQL = "INSERT INTO GoodsTrans VALUES('" & Request.Form("ID1") & "','" & Request.Form("TYPE1") & "','" & Request.Form("VALID1") & "','" & LEFT(Request.Form("NAME1"),3) & "','" & Request.Form("GOODS1") & "','" & Request.Form("QTY1") & "','" & Request.Form("AMOUNT1") & "','" & SNNO & "')" 
Set RS = Conn.Execute(SQL)
%> 
<HR>
<FONT COLOR="#0000FF">線上購物結(jié)果:</FONT><br>
<FONT COLOR="#0000FF">訂購 OK ! 訂購單號碼為 <% =SNNO %></FONT><BR>
信用卡資料:<BR>
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>信用卡種類</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>信用卡號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>有效期限</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>姓名</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>消費總金額</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("TYPE1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("ID1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("VALID1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("NAME1"),3) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("AMOUNT1") %></FONT></TD>
</TR> 
</TABLE>
<BR> 
訂購資料:<BR>
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>商品代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數(shù)量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>消費總金額</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>訂購單號碼</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("GOODS1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("QTY1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("AMOUNT1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =SNNO %></FONT></TD>
</TR> 
</TABLE> 
<%
Conn.Close
End Sub 
%> 
<%
Sub DeleteGoods()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT GOODS,QTY,AMOUNT,SN FROM GoodsTrans WHERE SN = '" & Request.Form("SN1") & "'"
Set RS = Conn.Execute(SQL)
%> 
<HR>
<FONT COLOR="#0000FF">取消訂購單結(jié)果:</FONT><br> 
<% 
IF RS.EOF THEN 
'找不到 ! 
%>
<FONT COLOR="#FF0000">找不到訂購單 <% =Request.Form("SN1") %> !</FONT> 
<% ELSE 
'取消訂購單 ! 
%>
<FONT COLOR="#FF0000">訂購單 <% =Request.Form("SN1") %> 已經(jīng)取消 !</FONT> 
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>商品代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數(shù)量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>消費總金額</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>訂購單號碼</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(0) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(1) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(2) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(3) %></FONT></TD>
</TR> 
</TABLE>
<% 
'GoodsTrans刪除一筆
SQL = "DELETE FROM GoodsTrans WHERE SN = '" & Request.Form("SN1") & "'"
Set RS = Conn.Execute(SQL)
END IF 
Conn.Close
End Sub 
%> 
<%
Sub CheckGoods()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa","" 
SQL = "SELECT GOODS,QTY,AMOUNT,SN FROM GoodsTrans WHERE ID = '" & Request.Form("ID2") & "'" 
Set RS = Conn.Execute(SQL)
%> 
<HR>
<FONT COLOR="#0000FF">查詢訂購單結(jié)果:</FONT><br>
<% 
IF RS.EOF THEN 
'找不到訂購單 ! 
%> 
信用卡號 <% =Request.Form("ID2") %> <FONT COLOR="#FF0000">找不到訂購單 !</FONT> 
<% ELSE %>
<% '有訂購單 ! %>
信用卡號 <% =Request.Form("ID2") %> <FONT COLOR="#0000ff">訂購單如下:</FONT> 
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>商品代號</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>數(shù)量</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>消費總金額</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>訂購單號碼</FONT></TD>
</TR>
<% j = 1 %> 
<% Do While Not RS.EOF %>
<TR> 
<% For i = 0 to RS.Fields.Count - 1 %>
<% If INT(j/2)*2 <> j Then %>
<TD BGCOLOR="E8FFFF" ALIGN=CENTER>
<FONT COLOR="#000000"><%= RS(i) %></FONT></TD> 
<% Else %>
<TD ALIGN=CENTER BGCOLOR="#C0FFFF">
<FONT COLOR="#000000"><%= RS(i) %></FONT></TD>
<% END IF %> 
<% Next %>
</TR> 
<%
RS.MoveNext
j = j + 1
Loop
%>
</TABLE> 
<% END IF 
RS.Close
Conn.Close
End Sub 
%>
<HR>
線上購物, 請輸入以下資料:<br>
<form action="data14.asp" method="post">
<FONT COLOR="#FF8080">■ </FONT>信用卡種類: 
<select name="TYPE1">
<OPTION SELECTED>VISA
<OPTION>American Express
<OPTION>Master Card
</select><br> 
<FONT COLOR="#FF8080">■ </FONT>信用卡號: 
<INPUT TYPE=TEXT VALUE="1234-5678-9012-3456" NAME="ID1" SIZE=19><BR> 
<FONT COLOR="#FF8080">■ </FONT>信用卡有效期限: 
<INPUT TYPE=TEXT VALUE="8906" NAME="VALID1" SIZE=4><BR> 
<FONT COLOR="#FF8080">■ </FONT>持有人姓名: 
<INPUT TYPE=TEXT VALUE="李商隱" NAME="NAME1" SIZE=8><BR> 
<FONT COLOR="#FF8080">■ </FONT>消費總金額: 
<INPUT TYPE=TEXT VALUE="12000" NAME="AMOUNT1" SIZE=6><P> 
<FONT COLOR="#FF8080">■ </FONT>商品代號 (如123456): 
<INPUT TYPE=TEXT VALUE="123456" NAME="GOODS1" SIZE=10><BR> 
<FONT COLOR="#FF8080">■ </FONT>數(shù)量: 
<INPUT TYPE=TEXT VALUE="10" NAME="QTY1" SIZE=6><BR> 
<INPUT TYPE=submit VALUE="線上購物" name="Action"><p> 
<HR WIDTH = 30% ALIGN=LEFT>
<FONT COLOR="#FF0000">■ </FONT>訂購單號碼: 
<INPUT TYPE=TEXT NAME="SN1" SIZE=12>
<INPUT TYPE=submit VALUE="取消購物" name="Action"><P> 
<FONT COLOR="#00FF00">■ </FONT>信用卡號: 
<INPUT TYPE=TEXT VALUE="1234-5678-9012-3456" NAME="ID2" SIZE=19>
<INPUT TYPE=submit VALUE="查詢購物單" name="Action"><P>
</form> 
<form>
<FONT COLOR="#0000FF">■ </FONT><INPUT TYPE=button VALUE="查詢特價商品" OnClick="location.href='data6.asp'">
</form>
<HR> 
</BODY>
</HTML>

3
房屋仲介線上查詢系統(tǒng)
「房屋仲介線上查詢系統(tǒng)」,可以透過Internet,查詢到符合條件要賣的房子資訊。
想要買房子的人,透過Internet,連線上房屋仲介公司的「房屋仲介線上查詢系統(tǒng)」,輸入最高預(yù)算、地點、坪數(shù)等選擇,即可以查詢到符合條件要賣的房子資訊。
設(shè)計實例
讓我們執(zhí)行一個實例。
( 范例 data5.asp 房屋仲介線上查詢
若要查詢資料,於用戶端使用瀏覽器,瀏覽本書所附安裝於網(wǎng)站伺服器的data5.asp,於「地點」處選擇購屋地點譬如臺北市,於「最高預(yù)算」處輸入購屋最高預(yù)算後譬如1000(萬),按下「查榜」按鈕,即可顯示查詢的結(jié)果如下,包括地點、外觀圖片、價格∶ 
找不到符合地點和預(yù)算的房子時,必須告訴人家,譬如輸入「最高預(yù)算」300時,將顯示「找不到」如下∶ 

設(shè)計實例詳細解說
建立資料表
首先使用Microsoft Access、Microsoft SQL Server 、Text檔案、或任何一種支援ODBC的資料庫,建立一個資料表House。
使用Microsoft Access建立一個資料表House,如下∶ 
於欄名GIF、PLACE、PRICE分別輸入外觀圖片檔案、地點、價格的資料。
或使用Microsoft SQL Server建立一個資料表House,如下∶ 
或使用Text檔案建立一個資料表House,如下∶ 
設(shè)計輸入表單
接著,設(shè)計輸入表單form,以讓查詢者於選擇購屋地點city,和輸入最高預(yù)算money,按下「查詢」按鈕submit時,即使用POST的方式將輸入資料傳送到網(wǎng)站伺服器,并執(zhí)行於「form action=...」所設(shè)定的data5.asp檔案(與form為同一個ASP檔案),程式碼如下∶
<form action="data5.asp" method="post">
地點: 
<select name="city">
<OPTION SELECTED>臺北市
<OPTION>新店市
<OPTION>中和市
</select> 
最高預(yù)算($萬): 
<INPUT TYPE=TEXT VALUE="1500" NAME="money" SIZE=10> 
<INPUT TYPE=submit VALUE="查詢" name="Action">
</form>
網(wǎng)站伺服器執(zhí)行data5.asp檔案,首先經(jīng)由Request.Form("money") 取得查詢者所輸入的最高預(yù)算money,若money非空白時,表示為表單輸入所呼叫執(zhí)行。
查詢資料庫
使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
再使用SELECT的SQL指令查詢資料庫的資料,設(shè)定SQL指令,查詢符合購屋地點Request.Form("city")和最高預(yù)算Request.Form("money")的資料,下個「Execute」指令,即可開始執(zhí)行存取查詢資料庫的動作,并將查詢結(jié)果儲存到RecordSets物件RS。
程式碼如下∶
IF Request.Form("money") THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT PLACE,GIF,PRICE FROM House WHERE PRICE <= " & Request.Form("money") & " AND PLACE = '" & LEFT(Request.Form("city"),3) &"'"
Set RS = Conn.Execute(SQL)
接著,要顯示查詢的結(jié)果了。
首先,由「 IF RS.EOF THEN ...」判斷是否找到符合購屋地點Request.Form("city")和最高預(yù)算Request.Form("money")的資料,若RS.EOF為TRUE,則顯示「找不到地點...或預(yù)算...萬以下的房子 !」。
程式碼,如下∶
查詢結(jié)果:<br>
<% IF RS.EOF THEN %>
<FONT COLOR="#FF0000">找不到地點 <% =LEFT(Request.Form("city"),3) %> <BR>
或預(yù)算 $ <% =Request.Form("money") %> 萬 以下的房子 !</FONT>
若找到符合查詢條件的資料,則顯示查詢的結(jié)果,包括地點、外觀圖片、價格,分別由RecordSets物件的RS(0)、RS(1) 、RS(2) 取得。
RS.Fields.Count表示RecordSets物件的欄位數(shù),由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各欄位的資料。配合<TABLE>表格的HTML語法,將結(jié)果填入表格的各欄位當中。
由「If RS(i).Name = "GIF" Then...」判斷欄位是否為外觀圖片GIF,若是則由「<img src= <%= RS(i) %> width=50 height=50>」的HTML碼顯示外觀圖片。
若還有下一筆資料,使用RS.MoveNext移到下一筆的位置。
程式碼,如下∶
<% ELSE %>
<FONT COLOR="#0000ff">地點 <% =LEFT(Request.Form("city"),3) %> <BR>
和預(yù)算 $ <% =Request.Form("money") %> 萬 以下的房子如下:</FONT> 
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1> 
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>地點</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>外觀</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>價格($萬)</FONT></TD>
</TR>
<% Do While Not RS.EOF %>
<TR> 
<% For i = 0 to RS.Fields.Count - 1 %>
<TD BGCOLOR="f7efde" ALIGN=CENTER> 
<% If RS(i).Name = "GIF" Then %>
<img src= <%= RS(i) %> width=50 height=50> 
<% Else %>
<FONT COLOR="#0000"><%= RS(i) %></FONT></TD>
<% END IF %> 
<% Next %>
</TR> 
<%
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
</TABLE> 
<% END IF %>
最後,使用RS.Close關(guān)閉RecordSet,使用Conn.Close關(guān)閉資料庫。
全部的程式碼,如下∶
<HTML>
<HEAD>
<TITLE>房屋仲介線上查詢系統(tǒng)</TITLE>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=big5">
</HEAD>
<CENTER> 
<BODY BGCOLOR=#FFFFFF>
<FONT SIZE=+2 COLOR="#0000FF">房屋仲介線上查詢系統(tǒng)</FONT> 
<%
IF Request.Form("money") THEN
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT PLACE,GIF,PRICE FROM House WHERE PRICE <= " & Request.Form("money") & " AND PLACE = '" & LEFT(Request.Form("city"),3) &"'"
Set RS = Conn.Execute(SQL)
%> 
<HR>
查詢結(jié)果:<br>
<% IF RS.EOF THEN %>
<FONT COLOR="#FF0000">找不到地點 <% =LEFT(Request.Form("city"),3) %> <BR>
或預(yù)算 $ <% =Request.Form("money") %> 萬 以下的房子 !</FONT> 
<% ELSE %>
<FONT COLOR="#0000ff">地點 <% =LEFT(Request.Form("city"),3) %> <BR>
和預(yù)算 $ <% =Request.Form("money") %> 萬 以下的房子如下:</FONT> 
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>地點</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>外觀</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>價格($萬)</FONT></TD>
</TR>
<% Do While Not RS.EOF %>
<TR> 
<% For i = 0 to RS.Fields.Count - 1 %>
<TD BGCOLOR="f7efde" ALIGN=CENTER> 
<% If RS(i).Name = "GIF" Then %>
<img src= <%= RS(i) %> width=50 height=50> 
<% Else %>
<FONT COLOR="#0000"><%= RS(i) %></FONT></TD>
<% END IF %> 
<% Next %>
</TR> 
<%
RS.MoveNext
Loop
RS.Close
Conn.Close
%>
</TABLE> 
<% END IF %>
<HR>
<% END IF %> 
<BR> 
<form action="data5.asp" method="post">
地點: 
<select name="city">
<OPTION SELECTED>臺北市
<OPTION>新店市
<OPTION>中和市
</select> 
最高預(yù)算($萬): 
<INPUT TYPE=TEXT VALUE="1500" NAME="money" SIZE=10> 
<INPUT TYPE=submit VALUE="查詢" name="Action">
</form> 
<HR>
</CENTER>
</BODY>
</HTML>

4
線上擇友系統(tǒng)
「線上擇友系統(tǒng)」,可以透過Internet,提供線上擇友的功能。
想要被擇友的人,透過Internet,連線上「線上擇友系統(tǒng)」,根據(jù)分類,輸入自己的學歷、興趣等分類,以及姓名、E-Mail位址。想要擇友的人,依照分類,選擇符合擇友條件的分類,電腦將隨機找出數(shù)名符合擇友條件者的姓名、E-Mail位址,以供擇友者與之連絡(luò)。
設(shè)計實例
讓我們執(zhí)行一個實例。
( 范例 data17.asp 線上擇友
若要線上擇友,於用戶端使用瀏覽器,瀏覽本書所附安裝於網(wǎng)站伺服器的data17.asp,於「性別」、和「興趣」處選擇選擇擇友條件後,按下「線上擇友」按鈕,即可顯示線上擇友的結(jié)果如下∶ 
將顯示有幾筆符合擇友條件,再隨機取得一筆,每次線上擇友可能得到不同的結(jié)果,顯示包括性別、E-Mail位址、性別、和興趣等資料,直接按下藍色的「E-Mail位址」即可自動啟動E-Mail軟體,并將此「E-Mail位址」復(fù)制到收件人的欄位當中,直接寫E-Mail與之連絡(luò)
若找不到符合擇友條件的記錄時,則線上擇友時將顯示「報歉! 找不到符合擇友條件的朋友 !」,如下∶ 
報名
若要加入「被擇友」的行列,必須報名線上擇友,於「姓名」、和「E-Mail位址」處輸入自己的基本資料,於「性別」、和「興趣」處選擇選擇被擇友的條件後,按下「報名」按鈕,即可顯示報名線上擇友的結(jié)果如下∶ 
報名線上擇友時,若已經(jīng)報名過,則重覆報名時將顯示「已經(jīng)報名」如下∶ 
取消報名
報名線上擇友後,可以取消所報名的資料,僅須於「E-Mail位址」處輸入E-Mail位址後,按下「取消報名」按鈕,即可顯示取消報名的結(jié)果如下∶ 
若待取消的E-Mail位址資料尚未報名過,則取消報名時將顯示「找不到」如下∶ 
查詢報名
報名線上擇友後,可以查詢報名的資料,僅須於「E-Mail位址」處輸入E-Mail位址後,按下「查詢報名」按鈕,即可顯示所有報名的資料如下∶ 
查詢報名時,若尚未報名,則查詢報名時將顯示「找不到」如下∶ 

設(shè)計實例詳細解說
建立資料表
首先使用Microsoft Access、Microsoft SQL Server 、Text檔案、或任何一種支援ODBC的資料庫,建立一個資料表Friend,儲存線上擇友的資料。建立欄位NAME、EMAIL、SEX、CLASS,分別代表一筆線上擇友資料的姓名、E-Mail位址、性別、和興趣。建立資料表時不必輸入資料。
使用Microsoft Access建立一個資料表Friend,如下∶ 
或使用Microsoft SQL Server建立一個資料表Friend,如下∶ 
或使用Text檔案建立一個資料表Friend,如下∶ 

設(shè)計輸入的表單
接著,設(shè)計輸入的表單form,線上擇友時,當選擇性別SEX2,和興趣CLASS2,按下「線上擇友」按鈕submit時,即使用POST的方式將輸入資料傳送到網(wǎng)站伺服器,并執(zhí)行於「form action=...」所設(shè)定的data17.asp檔案(與form為同一個ASP檔案)。
程式碼如下∶
線上擇友, 請選擇擇友條件:<br>
<form action="data17.asp" method="post">
<FONT COLOR="#FF8080">■ </FONT>性別: 
<select name="SEX2">
<OPTION SELECTED>男
<OPTION>女
</select>
<BR>
<FONT COLOR="#FF8080">■ </FONT>興趣:
<select name="CLASS2">
<OPTION SELECTED>運動
<OPTION>閱讀
<OPTION>電腦
<OPTION>交友
<OPTION>股票
<OPTION>打扮
<OPTION>其他
</select>
<br> 
<INPUT TYPE=submit VALUE="線上擇友" name="Action">
</form>
<HR>
報名線上擇友時,當輸入姓名NAME1和E-Mail位址EMAIL1,選擇性別SEX2和興趣CLASS2,按下「報名」等按鈕submit時,即使用POST的方式將輸入資料傳送到網(wǎng)站伺服器,并執(zhí)行於「form action=...」所設(shè)定的data17.asp檔案,程式碼如下∶
報名線上擇友, 請輸入以下資料:<br>
<form action="data17.asp" method="post">
<FONT COLOR="#FF8080">■ </FONT>姓名: 
<INPUT TYPE=TEXT VALUE="王國偉" NAME="NAME1" SIZE=10><BR> 
<FONT COLOR="#FF8080">■ </FONT>E-Mail位址: 
<INPUT TYPE=TEXT VALUE="wang@abc.net.tw" NAME="EMAIL1" SIZE=20><BR> 
<FONT COLOR="#FF8080">■ </FONT>性別: 
<select name="SEX1">
<OPTION SELECTED>男
<OPTION>女
</select>
<BR>
<FONT COLOR="#FF8080">■ </FONT>興趣:
<select name="CLASS1">
<OPTION SELECTED>運動
<OPTION>閱讀
<OPTION>電腦
<OPTION>交友
<OPTION>股票
<OPTION>打扮
<OPTION>其他
</select>
<br> 
<INPUT TYPE=submit VALUE="報名" name="Action"><br>
<INPUT TYPE=submit VALUE="取消報名" name="Action"> 僅須填入E-Mail位址<br>
<INPUT TYPE=submit VALUE="查詢報名" name="Action"> 僅須填入E-Mail位址<br>
</form>
網(wǎng)站伺服器執(zhí)行data17.asp檔案,首先經(jīng)由Request.Form("Action")取得所按submit按鈕上的顯示文字VALUE,Left(Request.Form("Action"),2)系只取前兩個中文字,若Request.Form("Action")非空白時,表示為表單輸入所呼叫執(zhí)行。
由「SELECT CASE Left(Request.Form("Action"),2) 」判斷是按了那個按鈕。若按鈕上前兩個字為「報名」時,則執(zhí)行AddReg() 副程式;若為「取消」時,則執(zhí)行DeleteReg() 副程式;若為「查詢」時,則執(zhí)行CheckReg() 副程式;若為「線上」時,則執(zhí)行Find() 副程式。
<%
SELECT CASE Left(Request.Form("Action"),2)
CASE "報名"
AddReg()
CASE "取消"
DeleteReg()
CASE "查詢"
CheckReg()
CASE "線上"
Find()
END SELECT
%>
線上擇友
按了「線上擇友」按鈕時,將執(zhí)行Find() 副程式。
首先,先尋找符合擇友條件的記錄,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
再使用SELECT的SQL指令查詢資料庫的資料,於Friend資料表,設(shè)定SQL指令,查詢性別欄位SEX符合所輸入Request.Form("SEX2"),和興趣欄位CLASS符合所選擇Request.Form("CLASS2")的資料,下個「Execute」指令,即可開始執(zhí)行存取查詢資料庫的動作,并將查詢結(jié)果儲存到RecordSets物件RS。
由「IF RS.EOF THEN ...」判斷是否找到所待取消的報名記錄,若RS.EOF為TRUE,表示找不到符合擇友條件的朋友,則顯示「找不到」。
程式碼如下∶
<%
Sub Find()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT * FROM Friend WHERE SEX = '" & LEFT(Request.Form("SEX2"),1) & "' AND CLASS = '" & LEFT(Request.Form("CLASS2"),2) & "'"
Set RS = Conn.Execute(SQL)
%> 
<HR>
<FONT COLOR="#0000FF">線上擇友結(jié)果:</FONT><br>
<% 
IF RS.EOF THEN 
'找不到符合擇友條件的朋友 ! 
%> 
<FONT COLOR="#FF0000">報歉! 找不到符合擇友條件的朋友 !</FONT>
若找到符合擇友條件的資料,則由「K = 0 Do While Not RS.EOF...」計算有幾筆符合擇友條件,再由「RND」隨機取得一筆,以便每次線上擇友可能得到不同的結(jié)果,顯示包括性別、E-Mail位址、性別、和興趣等資料,分別由RecordSets物件的RS(0)、RS(1)、RS(2)、RS(3) 取得。
配合<TABLE>表格的HTML語法,將結(jié)果填入表格的各欄位當中。
程式碼,如下∶
<% ELSE 
'有找到 !
K = 0 
Do While Not RS.EOF
RS.MoveNext
K = K + 1 
Loop 
Randomize
j = INT(RND * K)
RS.MoveFirst 
RS.Move j 
%> 

<FONT COLOR="#0000ff">符合擇友條件的朋友, 計 <% =K %> 位<BR> 
其中第 <% =j+1 %> 位的資料如下:</FONT> 
<TABLE COLSPAN=8 CELLPADDING=5 BORDER=1> 
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>姓名</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>E-Mail位址</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>性別</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>興趣</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(0) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><A HREF="mailto:<% =RS(1) %>"><% =RS(1) %></A></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(2) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(3) %></FONT></TD> 
</TR> 
</TABLE> 
<% END IF 
RS.Close
Conn.Close 
End Sub 
%>
最後,使用RS.Close關(guān)閉RecordSet,使用Conn.Close關(guān)閉資料庫。
報名
按了「報名」按鈕時,將執(zhí)行AddReg() 副程式。
首先,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
再尋找所待新增的報名記錄,以檢查是否已經(jīng)報過名,使用SELECT的SQL指令查詢資料庫的資料,於Friend資料表,設(shè)定SQL指令,查詢E-Mail位址欄位EMAIL符合所輸入Request.Form("EMAIL1")的資料,下個「Execute」指令,即可開始執(zhí)行存取查詢資料庫的動作,并將查詢結(jié)果儲存到RecordSets物件RS。
程式碼如下∶
Sub AddReg()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa",""
SQL = "SELECT * FROM Friend WHERE EMAIL = '" & Request.Form("EMAIL1") & "'"
Set RS = Conn.Execute(SQL)
接著,要顯示執(zhí)行的結(jié)果了。
首先於Friend資料表,尋找報名的記錄,由「IF RS.EOF THEN ...」判斷是否找到。若RS.EOF為TRUE,表示尚未報名,則於Friend資料表,使用「INSERT INTO...」指令新增一筆資料。
顯示執(zhí)行的結(jié)果時,配合<TABLE>表格的HTML語法,將姓名、E-Mail位址、性別、和興趣的資料,填入表格的各欄位當中顯示出來。
程式碼,如下∶
<% 
IF RS.EOF THEN 
'Friend新增一筆
SQL = "INSERT INTO Friend(NAME, EMAIL, SEX, CLASS) VALUES('" & LEFT(Request.Form("NAME1"),3) & "','" & Request.Form("EMAIL1") & "','" & LEFT(Request.Form("SEX1"),1) & "','" & LEFT(Request.Form("CLASS1"),2) & "')"
Set RS = Conn.Execute(SQL)
%>
<FONT COLOR="#0000FF">報名 OK !</FONT>
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>姓名</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>E-Mail位址</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>性別</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>興趣</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("NAME1"),3) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("EMAIL1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("SEX1"),1) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("CLASS1"),2) %></FONT></TD>
</TR> 
</TABLE>
當於Friend資料表查詢,由「IF RS.EOF THEN ...」判斷是否找到報名的資料時,若RS.EOF為FALSE,表示已經(jīng)報名,則顯示「報歉! 已經(jīng)報名!」。
接著,顯示執(zhí)行的結(jié)果,配合<TABLE>表格的HTML語法,將姓名、E-Mail位址、性別、和興趣的資料,填入表格的各欄位當中顯示出來。
程式碼,如下∶
<% ELSE %>
<% '已經(jīng)報名 %>
<FONT COLOR="#FF0000">報歉 ! 已經(jīng)報名 !</FONT><br> 
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>姓名</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>E-Mail位址</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>性別</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>興趣</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("NAME1"),3) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =Request.Form("EMAIL1") %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("SEX1"),1) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =LEFT(Request.Form("CLASS1"),2) %></FONT></TD> 
</TR> 
</TABLE>
<% END IF 
Conn.Close
End Sub %>
最後,使用Conn.Close關(guān)閉資料庫。
取消報名
按了「取消報名」按鈕時,將執(zhí)行DeleteReg() 副程式。
首先,先尋找到所待取消的報名記錄,使用「Server.CreateObject」建立連線的物件,并使用「Open」開啟待存取查詢資料庫BookSamp。
再使用SELECT的SQL指令查詢資料庫的資料,於Friend資料表,設(shè)定SQL指令,查詢E-Mail位址欄位EMAIL符合所輸入Request.Form("EMAIL1")的資料,下個「Execute」指令,即可開始執(zhí)行存取查詢資料庫的動作,并將查詢結(jié)果儲存到RecordSets物件RS。
由「IF RS.EOF THEN ...」判斷是否找到所待取消的報名記錄,若RS.EOF為TRUE,表示尚未報名,則顯示「找不到 ! 尚未報名 !」。
程式碼如下∶
<%
Sub DeleteReg()
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BookSamp","sa","" 
SQL = "SELECT * FROM Friend WHERE EMAIL = '" & Request.Form("EMAIL1") & "'" 
Set RS = Conn.Execute(SQL)
%>
<HR>
<FONT COLOR="#0000FF">取消報名結(jié)果:</FONT><br> 
<% 
IF RS.EOF THEN 
'找不到 ! 尚未報名 ! 
%>
<FONT COLOR="#FF0000">找不到 ! 尚未報名 !</FONT>
若找到所待取消的報名記錄,則於Friend資料表,使用「DELETE FROM...」指令刪除此筆資料。
接著,顯示執(zhí)行的結(jié)果,配合<TABLE>表格的HTML語法,將於Friend資料表刪除的資料,填入表格的各欄位當中,以顯示出來。
程式碼,如下∶
<% ELSE 
'取消報名 ! 
%>
<FONT COLOR="#FF0000">報名已經(jīng)取消 !</FONT> 
<TABLE COLSPAN=8 CELLPADDING=1 BORDER=1>
<TR>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>姓名</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>E-Mail位址</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>性別</FONT></TD>
<TD ALIGN=CENTER BGCOLOR="#800000"><FONT>興趣</FONT></TD>
</TR> 
<TR>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(0) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=CENTER><FONT COLOR="#0000"><% =RS(1) %></FONT></TD>
<TD BGCOLOR="f7efde" ALIGN=


主站蜘蛛池模板: 日韩一级特黄毛片在线看 | 影院亚洲| 亚洲国产一区二区在线 | 色综合久久中文综合网 | 天天操天天射天天舔 | 欧美在线xx | 中文字幕在线有码高清视频 | 四虎永久在线精品免费影视 | 日韩欧美精品综合一区二区三区 | 日本在线观看中文 | 中文字幕不卡高清免费 | 欧美视频综合 | 网址大全在线免费观看 | 欧美亚洲欧美日韩中文二区 | 午夜免费在线 | 日韩欧美精品综合一区二区三区 | 亚洲人成网站色7799在线播放 | 欧美视频在线观看xxxx | 亚洲 欧美 中文字幕 | 青草热视频| 在线播放侵犯高傲女教师希崎 | 日韩在线1 | 青娱乐欧美 | 亚洲免费观看在线视频 | 香蕉app在线观看免费版 | 日韩欧美片 | 在线播放日本爽快片 | 日本道精品一区二区三区 | 亚洲丁香婷婷综合久久小说 | 一本一道波多野结衣一区二区 | 综合久久久久综合体桃花网 | 日本天堂免费观看 | 日日做日日摸夜夜爽 | 日韩中文字幕精品一区在线 | 日本一区免费观看 | 色橹橹高清视频在线播放 | 色综合久久六月婷婷中文字幕 | 在线免费亚洲 | 色爱区综合激情五月综合激情 | 日韩精品一区二区三区中文字幕 | 日本高清观看视频 |