莫相离 发表于 2015-1-16 22:50:34

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>ASP脚本是采用明文(plaintext)方式来编写的。

海妖 发表于 2015-1-18 10:10:33

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

飘灵儿 发表于 2015-1-21 17:27:43

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

金色的骷髅 发表于 2015-1-30 21:31:39

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

精灵巫婆 发表于 2015-2-6 16:05:50

不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍

谁可相欹 发表于 2015-2-17 00:01:33

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

飘飘悠悠 发表于 2015-3-5 13:55:36

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

莫相离 发表于 2015-3-12 07:52:50

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

透明 发表于 2015-3-19 18:54:25

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
页: [1]
查看完整版本: ASP网页编程之ASP手艺在论坛中的使用(三)