ASP编程:用ASP手艺开辟WEB查询拜访(投票)体系 (2)...
源代码保护方面其实现在考虑得没那么多了..NET也可以反编译.ASP写得复杂的话别人能看得懂的话.他也有能力自己写了.这方面担心的倒不太多.纵观现在网上可以下载的那些所谓BBS还有什么网站等等的源代码web|投票|投票2、查询拜访项目标创立和保护作者:神仙掌事情室
本节我们申明查询拜访项目创立和保护功效的完成。
创立与保护查询拜访项目标肇端页面是Startup.html,该页面卖力设定PollMaker.asp和ItemMaker.asp等页面利用的帧布局(从上到下共分三个帧)。肇端页面所援用的Blank.html只用于指定背景色彩,StartMsg.html供应启动时显现在最上面帧的提醒信息。
PollMaker.asp和ItemMaker.asp都包括运转于服务器的ASP剧本,同时也包括(和创立)扫瞄器剧本以撑持客户端操纵。运转于服务器的剧本由VBScript写成,而客户端剧本则是JavaScript,这使得它既能够运转于NetscapeNavigator,也合适于IE。
PollMaker.asp经由过程查找Poll数据库的MSysObjects体系表取得已界说的查询拜访项目名字。因而,ASP使用必需具有读取该表的权限。在Access97中的设定办法是:先选择菜单“工具/选项”设置体系工具可见,然后在“工具/平安/用户与组的权限”下设定。在本文所附代码中Poll.mdb已设置了这个权限。假如要在分歧的RDBMS上完成这个查询拜访体系,这部分代码必需改写,使它顺应方针数据库上的体系表布局。
要将这些已界说的查询拜访项目名字显现到下拉列表框,起首必要从S_表的表名中撤除“S_”前缀,然后将这些字符串格局化为<SELECT>元素的<OPTION>字符串:
<SELECTNAME="PollName">
<OPTIONVALUE="StartPoll"SELECTED>NEWPOLL
<%
猎取以后已界说的查询拜访项目名字
SetobjConn=Server.CreateObject("ADODB.Connection")
objConn.Open"poll"
SetobjRS=_
objConn.Execute("SELECTNameFROMMSysObjects"&_
"WHEREType=1ANDNameLIKES_%ORDERBYName")
DoWhileNotobjRS.EOF
PollName=Mid(objRS("Name"),3)
Response.Write("<OPTIONVALUE="""&PollName&""">"&PollName)
objRS.MoveNext
Loop
%>
</SELECT>
ItemMaker将指定查询拜访项目标一切界说信息下载到扫瞄器真个JavaScript数组中,从而完成成绩的疾速编纂和创立。一切的成绩编纂操纵都在扫瞄器内经由过程修正两个JavaScript数组完成,只要单击“保留”按钮才可将修正了局写进数据库。
ItemMaker.asp起首将Response.Buffer设置为True,因而在页面熟成完成之前HTML输入将一向缓冲在服务器上,这使得发生毛病或实行非编纂功效时ItemMaker.asp能够不下载那些JavaScript函数而加入。在SubMain的入手下手处,程序经由过程反省表单变量OpType来决意是创立新的查询拜访项目,仍是删除查询拜访项目或查询拜访了局。这三个操纵均在ItemMaker.asp内完成,即一切受暗码回护的功效均在统一剧本内完成,这使得全部体系中暗码只在一个中央存取。上述三个操纵均需静态地天生与实行SQL语句。不管是剧本实行呈现毛病,仍是指定的操纵实行乐成,都挪用Response.Redirect语句从头加载PollMaker.asp,并把一个申明字符串传送给它:
<%
DimPollName
DimPassword
DimobjConn
DimobjRS
PollName=Request("PollName")
Password=UCase(Request("Password"))
OpType=Request("OpType")请求ItemMaker.asp实行的操纵
SName=""
AName=""
RName=""
CallMain
SubMain
IfPassword"WEBPOLL"Then如暗码毛病前往PollMaker.asp并提醒
Response.Redirect"PollMaker.asp?Msg=暗码毛病,请再试一次。"
ExitSub从ItemMaker.asp前往
EndIf
IfOpType="Edit"Then编纂或创立查询拜访查询拜访项目
IfPollName="StartPoll"Then
IfNotnewPoll()Then用户没有给出查询拜访项目标名字
Response.Redirect"PollMaker.asp?Msg=请输出查询拜访项目名字"
ExitSub
EndIf
SName=""
AName=""
RName=""
EndIf
ElseIfOpType="DelResp"Then删除查询拜访项目标已有了局
IfPollName="StartPoll"Then
Response.Redirect"PollMaker.asp?Msg=请输出查询拜访项目名字"
ExitSub
EndIf
SetobjConn=Server.CreateObject("ADODB.Connection")
objConn.Open"poll"
SetobjRS=Server.CreateObject("ADODB.Recordset")
objConn.Execute"DELETEFROM"&RName
Response.Redirect"PollMaker.asp?Msg=已删除指定查询拜访项目标投票了局"
ElseIfOpType="DelPoll"Then删除全部查询拜访项目
IfPollName="StartPoll"Then
Response.Redirect"PollMaker.asp?Msg=不克不及删除新查询拜访项目"
ExitSub
EndIf
SetobjConn=Server.CreateObject("ADODB.Connection")
objConn.Open"poll"
SetobjRS=Server.CreateObject("ADODB.Recordset")
objConn.Execute"DROPTABLE"&SName
objConn.Execute"DROPTABLE"&AName
objConn.Execute"DROPTABLE"&RName
Response.Redirect"PollMaker.asp?Msg=已删除指定的查询拜访项目。"
EndIf
%>
在运转ItemMaker.asp编纂查询拜访项目时,程序提取Poll数据库中界说的查询拜访项目及其成绩界说数据初始化数组stemArray[]和ansArray[]。这些用来初始化的字符串在写进时经由“本义”处置(即挪用Escape()函数),从而制止了因为嵌进的引号或别的把持字符大概招致的成绩,在利用这些数组之前这些字符串被复原(initPoll()函数):
 </p>ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。 那么,ASP.Net有哪些改进呢? Session:这个存储跟客户端会话过程的数据,默认20分钟失效 不能只是将它停留在纸上谈兵的程度上。 多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
页:
[1]