ASP教程之ASP手艺在论坛中的使用。(三)
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。 先要给出一个表单,可以让网友输出注册信息,这些是HTML的内容,且放在一边,我们来细心看看详细完成注册的ASP剧本。将数据中的单引号改成两个单引号,而且在前后加上单引号
FunctionSqlStr(data)
SqlStr=""&Replace(data,"","")&""
EndFunction
这是一个自界说的函数,用来把用户输出中的单引号(’)转换成两个单引号(’’)。在ASP中,用双引号围着的是字符串,因此下面的""代表的就是只要一个单引号的字符串。之以是要把一个单引号换成两个单引号,这是由于在SQL语句中,用单引号围起来是用来代表变量的。为了不至于搅浑,就要把字符串中的单引号用两个单引号来暗示。而一切的用户输出都要作为变量嵌进到SQL语句中的,以是这个函数是必不成少的。
存贮筹办
id=Request("id")
password=Request("password")
nickname=Request("nickname")
email=Request("email")
sex=request("sex")
把来自用户输出表单中的内容保留在变量中,这不是必需的,但写了更简单读写。
ifRequest("name")=""thenname=""elsename=request("name")
ifRequest("phone")=""thenphone=""elsephone=request("phone")
由于这些内容不是必需填的,为了避免用户没有输出任何内容,而形成数据库操纵上的毛病,就必需把没有填进字段用空格来取代。
创建毗连
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath("bbssystem.mdb")
这一段是创建数据库毗连,数据库的称号为bbssystem.mdb,这一段中独一要注重的是Server.MapPath函数的使用。一样平常来讲,但凡触及到详细的目次的中央,都不要间接利用目次名,而用Server.MapPath函数来取代。善用好Server.MapPath和Request.ServerVariables()等函数,可以让你的WEB使用具有更好的可移植性。
Setcmd=Server.CreateObject("ADODB.Command")
查询作者是不是已存在
Setcmd.ActiveConnection=conn
cmd.CommandText="查询作者"
ReDimparam(0)声明参数数组
param(0)=CStr(id)CInt不成疏忽
Setrs=cmd.Execute(,param)
这一段就是用来实行存贮查询的。在ADO中实行查询的办法有良多种,可是关于存贮查询就只能利用Command工具了。起首,创建了一个叫做cmd的Command工具,然后把conn毗连工具赋给cmd工具的ActiveConnection属性,把要实行的查询称号"查询作者"赋给CommandText属性,然后为查询参数赋值。我们声了然一个参数数组param(0),由于在"查询作者"这个查询中只要一个参数,以是数组就只要一个份量了。一样平常的,在查询中有几个参数,就要声名有响应份量个数的参数数组。而且参数呈现的按次是个数组平分量的按次是对应的。在利用参数查询的过程当中,特别要注重的是,参数的范例要严厉婚配,否这就会堕落,以是下面的CStr()范例转换函数是不成短少的。
ifnot(rs.eoforrs.bof)then
response.write"
毛病,你输出的ID号已被占用,请换一个再尝尝!
"
else
sql="InsertInto作者表(id,昵称,Email,暗码,姓名,黉舍,系别,性别,德律风)Values("
sql=sql&SqlStr(id)&","
sql=sql&SqlStr(nickname)&","
sql=sql&SqlStr(email)&","
sql=sql&SqlStr(password)&","
sql=sql&SqlStr(name)&","
sql=sql&SqlStr(school)&","
sql=sql&SqlStr(department)&","
sql=sql&SqlStr(sex)&","
sql=sql&SqlStr(phone)&")"
conn.Executesql
挪用一个SQL的Insert语句把数据拔出到数据库中。实在这一查询也能够做成存贮查询放在数据库中,我偷了点懒:-)不外对照之下也能够看到存贮查询的优点,运转时查询写起来其实是太贫苦了。
</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
页:
[1]