免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 无双
打印 上一主题 下一主题

商业网站应用设计 b/s使用的多个例子Z [复制链接]

论坛徽章:
0
11 [报告]
发表于 2003-06-26 23:22 |只看该作者

商业网站应用设计 b/s使用的多个例子Z

设计实例详细解说
建立资料表
首先使用Microsoft Access、Microsoft SQL Server 、Text档案、或任何一种支援ODBC的资料库,建立一个资料表House。
使用Microsoft Access建立一个资料表House,如下∶
於栏名GIF、PLACE、PRICE分别输入外观图片档案、地点、价格的资料。
或使用Microsoft SQL Server建立一个资料表House,如下∶
或使用Text档案建立一个资料表House,如下∶
设计输入表单
接著,设计输入表单form,以让查询者於选择购屋地点city,和输入最高预算money,按下「查询」按钮submit时,即使用POST的方式将输入资料传送到网站伺服器,并执行於「form action=...」所设定的data5.asp档案(与form为同一个ASP档案),程式码如下∶
<form action="data5.asp" method="post">;
地点:
<select name="city">;
<OPTION SELECTED>;台北市
<OPTION>;新店市
<OPTION>;中和市
</select>;
最高预算($万):
<INPUT TYPE=TEXT VALUE="1500" NAME="money" SIZE=10>;
<INPUT TYPE=submit VALUE="查询" name="Action">;
</form>;
网站伺服器执行data5.asp档案,首先经由Request.Form("money" 取得查询者所输入的最高预算money,若money非空白时,表示为表单输入所呼叫执行。
查询资料库
使用「Server.CreateObject」建立连线的物件,并使用「Open」开启待存取查询资料库BookSamp。
再使用SELECT的SQL指令查询资料库的资料,设定SQL指令,查询符合购屋地点Request.Form("city"和最高预算Request.Form("money"的资料,下个「Execute」指令,即可开始执行存取查询资料库的动作,并将查询结果储存到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)
接著,要显示查询的结果了。
首先,由「 IF RS.EOF THEN ...」判断是否找到符合购屋地点Request.Form("city"和最高预算Request.Form("money"的资料,若RS.EOF为TRUE,则显示「找不到地点...或预算...万以下的房子 !」。
程式码,如下∶
查询结果:<br>;
<% IF RS.EOF THEN %>;
<FONT COLOR="#FF0000">;找不到地点 <% =LEFT(Request.Form("city",3) %>;
;
或预算 $ <% =Request.Form("money") %>; 万 以下的房子 !</FONT>;
若找到符合查询条件的资料,则显示查询的结果,包括地点、外观图片、价格,分别由RecordSets物件的RS(0)、RS(1) 、RS(2) 取得。
RS.Fields.Count表示RecordSets物件的栏位数,由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各栏位的资料。配合<TABLE>;表格的HTML语法,将结果填入表格的各栏位当中。
由「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) %>;
;
和预算 $ <% =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关闭RecordSet,使用Conn.Close关闭资料库。
全部的程式码,如下∶
<HTML>;
<HEAD>;
<TITLE>;房屋仲介线上查询系统</TITLE>;
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=big5">;
</HEAD>;
<CENTER>;
<BODY BGCOLOR=#FFFFFF>;
<FONT SIZE=+2 COLOR="#0000FF">;房屋仲介线上查询系统</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>;
查询结果:<br>;
<% IF RS.EOF THEN %>;
<FONT COLOR="#FF0000">;找不到地点 <% =LEFT(Request.Form("city"),3) %>;
;
或预算 $ <% =Request.Form("money") %>; 万 以下的房子 !</FONT>;
<% ELSE %>;
<FONT COLOR="#0000ff">;地点 <% =LEFT(Request.Form("city"),3) %>;
;
和预算 $ <% =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 %>;

;
<form action="data5.asp" method="post">;
地点:
<select name="city">;
<OPTION SELECTED>;台北市
<OPTION>;新店市
<OPTION>;中和市
</select>;
最高预算($万):
<INPUT TYPE=TEXT VALUE="1500" NAME="money" SIZE=10>;
<INPUT TYPE=submit VALUE="查询" name="Action">;
</form>;
<HR>;
</CENTER>;
</BODY>;
</HTML>;

论坛徽章:
0
12 [报告]
发表于 2003-06-26 23:22 |只看该作者

商业网站应用设计 b/s使用的多个例子Z

4
线上择友系统
「线上择友系统」,可以透过Internet,提供线上择友的功能。
想要被择友的人,透过Internet,连线上「线上择友系统」,根据分类,输入自己的学历、兴趣等分类,以及姓名、E-Mail位址。想要择友的人,依照分类,选择符合择友条件的分类,电脑将随机找出数名符合择友条件者的姓名、E-Mail位址,以供择友者与之连络。
设计实例
让我们执行一个实例。
( 范例 data17.asp 线上择友
若要线上择友,於用户端使用浏览器,浏览本书所附安装於网站伺服器的data17.asp,於「性别」、和「兴趣」处选择选择择友条件後,按下「线上择友」按钮,即可显示线上择友的结果如下∶
将显示有几笔符合择友条件,再随机取得一笔,每次线上择友可能得到不同的结果,显示包括性别、E-Mail位址、性别、和兴趣等资料,直接按下蓝色的「E-Mail位址」即可自动启动E-Mail软体,并将此「E-Mail位址」复制到收件人的栏位当中,直接写E-Mail与之连络
若找不到符合择友条件的记录时,则线上择友时将显示「报歉! 找不到符合择友条件的朋友 !」,如下∶
报名
若要加入「被择友」的行列,必须报名线上择友,於「姓名」、和「E-Mail位址」处输入自己的基本资料,於「性别」、和「兴趣」处选择选择被择友的条件後,按下「报名」按钮,即可显示报名线上择友的结果如下∶
报名线上择友时,若已经报名过,则重覆报名时将显示「已经报名」如下∶
取消报名
报名线上择友後,可以取消所报名的资料,仅须於「E-Mail位址」处输入E-Mail位址後,按下「取消报名」按钮,即可显示取消报名的结果如下∶
若待取消的E-Mail位址资料尚未报名过,则取消报名时将显示「找不到」如下∶
查询报名
报名线上择友後,可以查询报名的资料,仅须於「E-Mail位址」处输入E-Mail位址後,按下「查询报名」按钮,即可显示所有报名的资料如下∶
查询报名时,若尚未报名,则查询报名时将显示「找不到」如下∶

论坛徽章:
0
13 [报告]
发表于 2003-06-26 23:23 |只看该作者

商业网站应用设计 b/s使用的多个例子Z

设计实例详细解说
建立资料表
首先使用Microsoft Access、Microsoft SQL Server 、Text档案、或任何一种支援ODBC的资料库,建立一个资料表Friend,储存线上择友的资料。建立栏位NAME、EMAIL、SEX、CLASS,分别代表一笔线上择友资料的姓名、E-Mail位址、性别、和兴趣。建立资料表时不必输入资料。
使用Microsoft Access建立一个资料表Friend,如下∶
或使用Microsoft SQL Server建立一个资料表Friend,如下∶
或使用Text档案建立一个资料表Friend,如下∶

设计输入的表单
接著,设计输入的表单form,线上择友时,当选择性别SEX2,和兴趣CLASS2,按下「线上择友」按钮submit时,即使用POST的方式将输入资料传送到网站伺服器,并执行於「form action=...」所设定的data17.asp档案(与form为同一个ASP档案)。
程式码如下∶
线上择友, 请选择择友条件:<br>;
<form action="data17.asp" method="post">;
<FONT COLOR="#FF8080">;■ </FONT>;性别:
<select name="SEX2">;
<OPTION SELECTED>;男
<OPTION>;女
</select>;

;
<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的方式将输入资料传送到网站伺服器,并执行於「form action=...」所设定的data17.asp档案,程式码如下∶
报名线上择友, 请输入以下资料:<br>;
<form action="data17.asp" method="post">;
<FONT COLOR="#FF8080">;■ </FONT>;姓名:
<INPUT TYPE=TEXT VALUE="王国伟" NAME="NAME1" SIZE=10>;
;
<FONT COLOR="#FF8080">;■ </FONT>;E-Mail位址:
<INPUT TYPE=TEXT VALUE="wang@abc.net.tw" NAME="EMAIL1" SIZE=20>;
;
<FONT COLOR="#FF8080">;■ </FONT>;性别:
<select name="SEX1">;
<OPTION SELECTED>;男
<OPTION>;女
</select>;

;
<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>;
网站伺服器执行data17.asp档案,首先经由Request.Form("Action"取得所按submit按钮上的显示文字VALUE,Left(Request.Form("Action",2)系只取前两个中文字,若Request.Form("Action"非空白时,表示为表单输入所呼叫执行。
由「SELECT CASE Left(Request.Form("Action",2) 」判断是按了那个按钮。若按钮上前两个字为「报名」时,则执行AddReg() 副程式;若为「取消」时,则执行DeleteReg() 副程式;若为「查询」时,则执行CheckReg() 副程式;若为「线上」时,则执行Find() 副程式。
<%
SELECT CASE Left(Request.Form("Action",2)
CASE "报名"
AddReg()
CASE "取消"
DeleteReg()
CASE "查询"
CheckReg()
CASE "线上"
Find()
END SELECT
%>;
线上择友
按了「线上择友」按钮时,将执行Find() 副程式。
首先,先寻找符合择友条件的记录,使用「Server.CreateObject」建立连线的物件,并使用「Open」开启待存取查询资料库BookSamp。
再使用SELECT的SQL指令查询资料库的资料,於Friend资料表,设定SQL指令,查询性别栏位SEX符合所输入Request.Form("SEX2",和兴趣栏位CLASS符合所选择Request.Form("CLASS2"的资料,下个「Execute」指令,即可开始执行存取查询资料库的动作,并将查询结果储存到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">;线上择友结果:</FONT>;<br>;
<%
IF RS.EOF THEN
'找不到符合择友条件的朋友 !
%>;
<FONT COLOR="#FF0000">;报歉! 找不到符合择友条件的朋友 !</FONT>;
若找到符合择友条件的资料,则由「K = 0 Do While Not RS.EOF...」计算有几笔符合择友条件,再由「RND」随机取得一笔,以便每次线上择友可能得到不同的结果,显示包括性别、E-Mail位址、性别、和兴趣等资料,分别由RecordSets物件的RS(0)、RS(1)、RS(2)、RS(3) 取得。
配合<TABLE>;表格的HTML语法,将结果填入表格的各栏位当中。
程式码,如下∶
<% 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 %>; 位
;
其中第 <% =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关闭RecordSet,使用Conn.Close关闭资料库。
报名
按了「报名」按钮时,将执行AddReg() 副程式。
首先,使用「Server.CreateObject」建立连线的物件,并使用「Open」开启待存取查询资料库BookSamp。
再寻找所待新增的报名记录,以检查是否已经报过名,使用SELECT的SQL指令查询资料库的资料,於Friend资料表,设定SQL指令,查询E-Mail位址栏位EMAIL符合所输入Request.Form("EMAIL1")的资料,下个「Execute」指令,即可开始执行存取查询资料库的动作,并将查询结果储存到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)
接著,要显示执行的结果了。
首先於Friend资料表,寻找报名的记录,由「IF RS.EOF THEN ...」判断是否找到。若RS.EOF为TRUE,表示尚未报名,则於Friend资料表,使用「INSERT INTO...」指令新增一笔资料。
显示执行的结果时,配合<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,表示已经报名,则显示「报歉! 已经报名!」。
接著,显示执行的结果,配合<TABLE>;表格的HTML语法,将姓名、E-Mail位址、性别、和兴趣的资料,填入表格的各栏位当中显示出来。
程式码,如下∶
<% ELSE %>;
<% '已经报名 %>;
<FONT COLOR="#FF0000">;报歉 ! 已经报名 !</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关闭资料库。
取消报名
按了「取消报名」按钮时,将执行DeleteReg() 副程式。
首先,先寻找到所待取消的报名记录,使用「Server.CreateObject」建立连线的物件,并使用「Open」开启待存取查询资料库BookSamp。
再使用SELECT的SQL指令查询资料库的资料,於Friend资料表,设定SQL指令,查询E-Mail位址栏位EMAIL符合所输入Request.Form("EMAIL1")的资料,下个「Execute」指令,即可开始执行存取查询资料库的动作,并将查询结果储存到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">;取消报名结果:</FONT>;<br>;
<%
IF RS.EOF THEN
'找不到 ! 尚未报名 !
%>;
<FONT COLOR="#FF0000">;找不到 ! 尚未报名 !</FONT>;
若找到所待取消的报名记录,则於Friend资料表,使用「DELETE FROM...」指令删除此笔资料。
接著,显示执行的结果,配合<TABLE>;表格的HTML语法,将於Friend资料表删除的资料,填入表格的各栏位当中,以显示出来。
程式码,如下∶
<% ELSE
'取消报名 !
%>;
<FONT COLOR="#FF0000">;报名已经取消 !</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=CENTER>;<FONT COLOR="#0000">;<% =RS(2) %>;</FONT>;</TD>;
<TD BGCOLOR="f7efde" ALIGN=CENTER>;<FONT COLOR="#0000">;<% =RS(3) %>;</FONT>;</TD>;
</TR>;
</TABLE>;
<%
'Friend删除一笔
SQL = "DELETE FROM Friend WHERE EMAIL = '" & Request.Form("EMAIL1") & "'"
Set RS = Conn.Execute(SQL)
END IF
Conn.Close
End Sub %>;
最後,使用Conn.Close关闭资料库。
查询报名
按了「查询报名」按钮时,执行CheckReg() 副程式。
首先,先寻找到所待查询的报名记录,使用「Server.CreateObject」建立连线的物件,并使用「Open」开启待存取查询资料库BookSamp。
再使用SELECT的SQL指令查询资料库的资料,於Friend资料表,设定SQL指令,查询E-Mail位址栏位EMAIL符合所输入Request.Form("EMAIL1")的资料,下个「Execute」指令,即可开始执行存取查询资料库的动作,并将查询结果储存到RecordSets物件RS。
由「IF RS.EOF THEN ...」判断是否找到所待查询E-Mail位址的报名记录,若RS.EOF为TRUE,表示此E-Mail位址尚未报名,则显示「找不到 ! 尚未报名 !」。
程式码如下∶
<%
Sub CheckReg()
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">;查询报名结果:</FONT>;<br>;
<%
IF RS.EOF THEN
'找不到 ! 尚未报名 !
%>;
<FONT COLOR="#FF0000">;找不到 ! 尚未报名 !</FONT>;
若找到此E-Mail位址的报名资料,则显示查询的结果,包括性别、E-Mail位址、性别、和兴趣等资料,分别由RecordSets物件的RS(0)、RS(1)、RS(2)、RS(3) 取得。
RS.Fields.Count表示RecordSets物件的栏位数,由「For i = 0 to RS.Fields.Count - 1」取得RS(i) 各栏位的资料。配合<TABLE>;表格的HTML语法,将结果填入表格的各栏位当中。
若还有下一笔资料,使用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>;E-Mail位址</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关闭RecordSet,使用Conn.Close关闭资料库。
全部的程式码,如下∶
<HTML>;
<HEAD>;
<TITLE>;线上择友系统</TITLE>;
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=big5">;
</HEAD>;
<BODY BGCOLOR=#FFFFFF>;
<FONT SIZE=+2 COLOR="#0000FF">;线上择友系统</FONT>;
<%
SELECT CASE Left(Request.Form("Action"),2)
CASE "报名"
AddReg()
CASE "取消"
DeleteReg()
CASE "查询"
CheckReg()
CASE "线上"
Find()
END SELECT
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)
%>;
<HR>;
<FONT COLOR="#0000FF">;线上择友报名结果:</FONT>;<br>;
<%
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>;
<% ELSE %>;
<% '已经报名 %>;
<FONT COLOR="#FF0000">;报歉 ! 已经报名 !</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
%>;
<%
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">;取消报名结果:</FONT>;<br>;
<%
IF RS.EOF THEN
'找不到 ! 尚未报名 !
%>;
<FONT COLOR="#FF0000">;找不到 ! 尚未报名 !</FONT>;
<% ELSE
'取消报名 !
%>;
<FONT COLOR="#FF0000">;报名已经取消 !</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=CENTER>;<FONT COLOR="#0000">;<% =RS(2) %>;</FONT>;</TD>;
<TD BGCOLOR="f7efde" ALIGN=CENTER>;<FONT COLOR="#0000">;<% =RS(3) %>;</FONT>;</TD>;
</TR>;
</TABLE>;

<%
'Friend删除一笔
SQL = "DELETE FROM Friend WHERE EMAIL = '" & Request.Form("EMAIL1") & "'"
Set RS = Conn.Execute(SQL)
END IF
Conn.Close
End Sub
%>;
<%
Sub CheckReg()
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">;查询报名结果:</FONT>;<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>;E-Mail位址</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 %>;
<%
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">;线上择友结果:</FONT>;<br>;
<%
IF RS.EOF THEN
'找不到符合择友条件的朋友 !
%>;
<FONT COLOR="#FF0000">;报歉! 找不到符合择友条件的朋友 !</FONT>;
<% 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 %>; 位
;
其中第 <% =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 %>;
<HR>;
线上择友, 请选择择友条件:<br>;
<form action="data17.asp" method="post">;
<FONT COLOR="#FF8080">;■ </FONT>;性别:
<select name="SEX2">;
<OPTION SELECTED>;男
<OPTION>;女
</select>;

;
<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>;
报名线上择友, 请输入以下资料:<br>;
<form action="data17.asp" method="post">;
<FONT COLOR="#FF8080">;■ </FONT>;姓名:
<INPUT TYPE=TEXT VALUE="王国伟" NAME="NAME1" SIZE=10>;
;

<FONT COLOR="#FF8080">;■ </FONT>;E-Mail位址:
<INPUT TYPE=TEXT VALUE="wang@abc.net.tw" NAME="EMAIL1" SIZE=20>;
;

<FONT COLOR="#FF8080">;■ </FONT>;性别:
<select name="SEX1">;
<OPTION SELECTED>;男
<OPTION>;女
</select>;

;
<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>;
<HR>;
</BODY>;
</HTML>;

论坛徽章:
0
14 [报告]
发表于 2003-06-26 23:23 |只看该作者

商业网站应用设计 b/s使用的多个例子Z

5
其他商业网站应用
其他商业网站的应用,如下∶
线上买卖交易系统
「线上买卖交易系统」,可以透过Internet,自动完成买卖的交易行为。
想要买卖商品的人,透过Internet,连线上「线上买卖交易系统」,要卖东西的人选择分类,输入商品简介、和价格等资讯;要买东西的人依照分类,即可以查询到符合的商品资讯。
分类可以分为跳蚤市场、寻职求才、电动玩具、二手中古商品买卖、家教、电脑商品买卖、房屋租售等类别。
线上徵求命名系统
「线上徵求命名系统」,可以透过Internet,可徵求一般大众对於产品名称、节目名称、歌曲名称等的命名。
透过Internet,连线上「线上徵求命名系统」,在电脑上输入命名的名称。
可要求留下E-Mail位址,用电脑抽奖的方式,或当命名被采用後,将奖品赠送给命名者,以鼓励参加这项命名活动。
杂志线上查询订讲系统
「杂志线上查询订讲系统」,可以透过Internet,提供线上查询杂志内容、和订讲杂志书籍的功能。
一般的读者,透过Internet,连线上杂志社的「杂志线上查询订讲系统」,即可查询杂志内容、新书简介等资讯。
线上订讲杂志书籍时,输入订购杂志、书籍、数量、信用卡付款资料,即可以完成线上订购杂志书籍的手续。
生活资讯线上查询系统
「生活资讯线上查询系统」,可以透过Internet,提供生活资讯内容的功能。
透过Internet,连线上「生活资讯线上查询系统」,即可查询生活资讯的内容。生活资讯包括热门网站、网站搜寻、天气预告、计程车呼叫查询、飞机时刻表查询、科技新知、即时新闻、特价商品、旅游资讯、股票收盘价格等生活资讯。
电影查询预约系统
「电影查询预约系统」,可以透过Internet,提供线上查询电影、音乐会、马戏团、戏剧表演等的内容,和线上预约电影票、入场券的功能。
一般的观众,透过Internet,连线上「电影查询预约系统」,即可查询电影音乐会、或马戏团的表演内容,以及戏院地址电话等资讯。
线上预约电影票、入场券时,输入要预约的电影、音乐会、或马戏团场次,以及数量、信用卡付款等资料,即可以完成线上预约的手续。
电台线上查询系统
「电台线上查询系统」,可以透过Internet,提供电台、电视台线上查询节目内容、交通状况、和表达意见的功能。
一般的听众或观众,透过Internet,连线上电台、电视台的「电台线上查询系统」,即可查询节目内容、交通状况等资讯,以及留言表达意见、笑话、心情故事,电台整理後,在节目中播出。
线上多人游戏系统
「线上多人游戏系统」,可以透过Internet,提供多人线上游戏的功能。
一般的读者,透过Internet,连线上「线上多人游戏系统」,即可加入多人线上游戏的行列。譬如多人线上对打等游戏。
  
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP