ASP编程:ASP进阶教程:留言查询功能(一)
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;教程当有一天,你的心境俄然变得很坏,可是偶合的是,在你的留言簿中你的网友留了一句很让你奋发的话,因而你很快就重拾了康乐的心境。可是在不久后你又一次心境变坏,可是此次却没有前次那末侥幸,由于没有人赐与你勉励,因而你天然就想再看一看前次那句令你很受奋发的话。这时候你就会想:假设我的留言簿有留言查询功效就行了!为了能告竣你的希望,因而我决意在本章教程为你讲授具有留言查询功效的留言簿程序。在解说之前,让我们仍是先来进修将在源程序顶用到的COMMAND工具。
起首让我们先来懂得一下Command工具所供应的属性和办法和它们的响应功效
ActiveConnection属性--创建与Connection通道的链接干系
CommandText属性--指定命据查询信息
CommandTimeout属性--入手下手实行数据查询后同意持续实行的最长工夫
CommandType属性--指定命据查询信息的范例
Prepared属性--指定命据查询信息是不是要先行编译
CreateParameter办法--创建一个新的参数工具
Execute办法--对数据库提出数据查询
Command工具也是ADO工具汇合的一员,它次要用来把持对数据库收回的哀求信息,告知数据库:“要哪一个数据内外的数据?要甚么字段内的数据?数据必需切合甚么限定?请把这些切合我请求的数据全体寄存在Recordset工具内前往返来!”那末说究竟,Command工具的功效就是实行SQL(StructuredQueryLanguage布局式查询言语,是用于对寄存在盘算机数据库中的数据举行构造、办理和检索的一种工具;是一种特定范例的数据库--干系数据库)命令。假设你是一名对照仔细的人,你必定还记得我在第三章中实在就已用上了SQL命令,因而你就会对我提问:“你事先并没有效到Command工具呀?”
的确,没有Command工具我们也一样能够实行SQL命令。我们使用Connection工具或是使用Recordset工具一样能够实行SQL命令。办法以下所示:
Setrs=conn.Execute(SQL命令)
使用Connection工具实行SelectSQL命令,然后将了局指定给Recordset工具。
conn.ExecuteSQL命令
使用Connection工具实行数据操纵的SQL命令。
Setrs=Server.CreateObject("ADODB.Recordset")
rs.OpenSQL命令,conn
先创建Recordset工具,再实行SQL命令拔取数据。
使用Command工具又是怎样来实行SQL命令的呢?人人请看:
Setcmd=Server.CreateObject("ADODB.Command")
Setcmd.ActiveConnection=conn
cmd.CommandText=sql
Setrs=cmd.Execute
可见使用Command工具来实行SQL命令,得先将Connection工具及SQL命令设置给工具Command的ActiveConnection及CommandText属性,然后才实行cmd.Execute函数。
由上述我们能够晓得,本来利用Recordset工具和利用Command工具来实行SQL命令,实质都是一样的。既然云云,那末我们为何还要使用Command工具呢?为了申明这个成绩,我分离用两种分歧的办法来为留言簿增加留言查询功效,个中查询“留言簿已往五天留言纪录”和“留言纪录日期查询”是使用Command工具来实行SQL命令的,而“留言者姓名查询”和“最新十条留言纪录”的查询则是使用Recordset工具来实行SQL命令。
讲了这很多也该进正题了,我们起首来进修的是使用Recordset工具来完成“留言者姓名查询”和“最新十条留言纪录”的查询。以下我们仍是经由过程分步骤的办法来举行申明。
步骤一:起首我们得计划一个留言查询的界面(Datesearch.ASP),以下图所示:
步骤二:使用Recordset工具来实行SQL命令,完成“最新十条留言纪录”的查询。
Setconn=Server.CreateObject("ADODB.Connection")
DBPath=Server.MapPath("book2.mdb")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath
sql="selecttop10*fromguestbookorderbyIDDesc"
这里用“orderbyIDDesc”暗示依照“ID”字段从年夜到小排序。由于在数据库中我将ID字段的数据范例设为“主动编号”,留言纪录的ID将按前后从小到猛进行排序,以是要查询最新的十条留言便是查询最初的十条ID的纪录。
Setrs=conn.Execute(sql)
使用Recordset工具来实行SQL命令,完成“留言者姓名”的查询的道理与上述分歧,程序以下所示:
namesearch=request.form("name")
namesearch=Replace(namesearch,"","")
还记得我在第三章中先容SqlStr函数时的申明吗?忘了就到归去看看吧。
Setconn=Server.CreateObject("ADODB.Connection")DBPath=Server.MapPath("book2.mdb")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath
sql="select*fromguestbookwhere姓名="&namesearch&"orderbyID Desc"
Setrs=conn.Execute(sql)
步骤三:计划查询了局的Web页面(Search.asp)。
<%
SubSearch(rs)
Response.Write"<CENTER><tableborder=2width=90%cellpadding=2cellspacing=2bordercolorlight=#000000bordercolordark=#FFFFFFbordercolor=#FFFFFFbgcolor=#FFFFFFalign=center>"
Response.Write"<TRBGCOLOR=#33CCCC>"
Fori=0tors.Fields.Count-1
Response.WRITE"<TD>"&rs.Fields(i).Name&"</TD>"
Next
Response.Write"</TR>"
"&rs.Fields(i).Name&"暗示显现数据表的“字段仰面”
WhileNotrs.EOF
Response.Write"<TR>"
Fori=0tors.Fields.Count-1
Response.WRITE"<TD>"&rs.Fields(i).Value&"</TD>"
Next
Response.Write"</TR>"
rs.MoveNext
Wend
Response.Write"</TABLE></CENTER>"
"&rs.Fields(i).Value&"暗示显现数据表的“数据字段内容”
EndSub
%>
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
页:
[1]