ASP网站制作之用ASP手艺开辟WEB查询拜访(投票)体系 (3)...
asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般web|投票|投票3、查询拜访表单的天生与了局剖析作者:神仙掌事情室
PollWriter.asp先反省表单变量,包含查询拜访项目名字PollName和(可选的)字符串LinkText和LinkURL,LinkText和LinkURL形貌了用户提交其投票了局以后显现的URL。接上去剧本创立并实行从指定查询拜访项目标S_表和A_表提取纪录集的SQL命令,然后遍历这个纪录集格局化单选按钮、复选框和别的提醒文本,最初输入该查询拜访项目标HTML表单。表单中成绩的名字为“CHOICE”加成绩序号。当这个表单被提交的时,它的ACTION将装载PollMaker.asp(这里的函数saveResponses()从CHOICE表单位素提取投票了局,然后更新数据库,代码略)。表单中的别的埋没变量用于将PollName、OpType、LinkText、LinkURL传送给PollMaker.asp:
<%
从S_表和A_表读取查询拜访项目界说
SetobjConn=Server.CreateObject("ADODB.Connection")
objConn.Open"poll"
SQLCommand="Select"&SName&".ID,"&_
"IType,NoOpinion,Stem,ALabel,AnswerFROM"&SName&"LEFTJOIN"&_
AName&"ON"&SName&".ID="&AName&".IDORDERBY"&_
SName&".ID,ALabel"
SetobjRS=objConn.Execute(SQLCommand)
向查询拜访表单输入各个成绩
DoWhileNotobjRS.EOF
Response.Write("<TR><TD>"&objRS("ID")&".<TDBGCOLOR=""#ffff00"">"&_
objRS("Stem"))
Response.Write("<TR><TD><TD>")
ckNoOpinion=IIf(objRS("NoOpinion")="Y","","Checked")
noMove=False
除"同意复选",别的各种成绩均需反省是不是同意不回覆成绩
ansName="""CHOICE"&objRS("ID")&""""
SelectCaseobjRS("IType")
Case"1"是/否
IfckNoOpinion=""Then
Response.Write("<INPUTTYPE=radioNAME="&ansName&_
"VALUE=""""Checked>暂不回覆")
EndIf
Response.Write("<INPUTTYPE=radioNAME="&ansName&_
"VALUE=""A"""&ckNoOpinion&">是")
Response.Write("<INPUTTYPE=radioNAME="&ansName&_
"VALUE=""B"">否")
Case"2"赞成水平
...略...
Case"3"语义辨别
...略...
Case"4"多项选择
...略...
Case"5"同意复选
...略...
EndSelect
IfNoMoveThen
NoMove=False
ElseIfNotobjRS.EOFThen
objRS.MoveNext
EndIf
Loop
%>
PollResult.asp利用与PollWrite.asp一样的SQL命令从A_表(谜底)和S_表(成绩)提取纪录集,接着从对应的R_表读取用户回覆了局,用一个二维数组Counts统计投票了局。缺省时了局剖析中不包括“没有回覆”,假如要包括,则需给出表单变量ShowNoOp并指定其值为True,请拜见中显现投票了局的URL。
<%
Globals
DimPollName
DimCounts()用户回覆的统计数组
DimnResponses
DimN用户回覆数目,大概不包括"没有回覆"选项
DimobjConn
DimobjRS
nResponses=0
CallMain
SubMain
Dimlikert
Dimi
Likert=Array("激烈否决","否决","不断定","批准","完整同意")
PollName=Request("PollName")
ShowNoOp=IIf(UCase(Request("ShowNoOp"))="TRUE",True,False)
从A_表和S_表读取查询拜访项目界说
SetobjConn=Server.CreateObject("ADODB.Connection")
objConn.Open"poll"
SName=""
AName=""
IfCount()=FalseThen
Response.Write("<BR>此查询拜访项目没有投票了局")
ExitSub
EndIf
SQLCommand="Select"&SName&".ID,"&_
"IType,NoOpinion,Stem,ALabel,AnswerFROM"&SName&_
"LEFTJOIN"&AName&"ON"&SName&".ID="&AName&_
".IDORDERBY"&SName&".ID,ALabel"
SetobjRS=objConn.Execute(SQLCommand)
Response.Write("<TABLE>")
...输入表单题目,略...
Response.Write("<TR><TDCOLSPAN=5>")
itemIx=0成绩序号
DoWhileNotobjRS.EOF
IType=objRS("IType")
NoMove=False
N=IIf(ShowNoOpOrIType=5,nResponses,nResponses-Counts(itemIx,0))
N=IIf(N=0,1,N)
Response.Write("<TR><THALIGN=right>"&objRS("ID")&_
".<THALIGN=leftCOLSPAN=4BGCOLOR=""#ffff00"">"&objRS("Stem"))
Response.Wr</p>缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 Session:这个存储跟客户端会话过程的数据,默认20分钟失效 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
页:
[1]