- 论坛徽章:
- 0
|
商业网站应用设计 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>; |
|