IT学习者 | 站长学院 | 技术文档 | 成语 | 歇后语 | 桌面壁纸 | 天气预报 | 帝国时代 | 生日密码 | 代码收藏 | 厦门天气 | IP地址查询 | 生活百科

ASP技术在论坛中的运用(三)

【 来源:CSDN 作者:佚名 更新时间:2004-09-16 | 字体:
  先要给出一个表单,能够让网友输入注册信息,这些是HTML的内容,且放在一边,我们来仔细看看具体实现注册的ASP脚本。

  ' 将数据中的单引号改成两个单引号,并且在前后加上单引号

  Function SqlStr( data )

   SqlStr = "'" & Replace( data, "'", "''" ) & "'"

  End Function

  这是一个自定义的函数,用来把用户输入中的单引号(’)转换成两个单引号(’’)。在ASP中,用双引号围着的是字符串,因而上面的"'"代表的就是只有一个单引号的字符串。之所以要把一个单引号换成两个单引号,这是因为在SQL语句中,用单引号围起来是用来代表变量的。为了不至于混淆,就要把字符串中的单引号用两个单引号来表示。而所有的用户输入都要作为变量嵌入到SQL语句中的,所以这个函数是必不可少的。
  

  '存贮准备

  id=Request("id")

  password=Request("password")

  nickname=Request("nickname")

  email=Request("email")

  sex=request("sex")

  

  把来自用户输入表单中的内容保存在变量中,这不是必须的,但写了更容易读写。

  

  if Request("name")="" then name=" " else name=request("name")

  if Request("phone")="" then phone=" " else phone=request("phone")

  

  因为这些内容不是必须填的,为了防止用户没有输入任何内容,而造成数据库操作上的错误,就必须把没有填入字段用空格来代替。

  

  '建立连接

  Set conn = Server.CreateObject("ADODB.Connection")

  conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("bbssystem.mdb")

  

   这一段是建立数据库连接,数据库的名称为bbssystem.mdb,这一段中唯一要注意的是Server.MapPath函数的应用。一般来说,凡是涉及到具体的目录的地方,都不要直接使用目录名,而用Server.MapPath函数来代替。善用好Server.MapPath和Request.ServerVariables()等函数,能够让你的WEB应用具有更好的可移植性。

  

  Set cmd = Server.CreateObject("ADODB.Command")

  '查询作者是否已存在

  Set cmd.ActiveConnection = conn

  cmd.CommandText = "查询作者"

   ReDim param(0) ' 声明参数数组

  param(0) = CStr(id) ' Cint 不可忽略

  Set rs = cmd.Execute( ,param )

  

  这一段就是用来执行存贮查询的。在ADO中执行查询的方法有很多种,但是对于存贮查询就只能使用Command对象了。首先,建立了一个叫做cmd的Command对象,然后把conn连接对象赋给cmd对象的ActiveConnection属性,把要执行的查询名称"查询作者"赋给CommandText属性,然后为查询参数赋值。我们声明了一个参数数组param(0),因为在"查询作者"这个查询中只有一个参数,所以数组就只有一个分量了。一般的,在查询中有几个参数,就要申明有相应分量个数的参数数组。并且参数出现的顺序是个数组中分量的顺序是对应的。在使用参数查询的过程中,尤其要注意的是,参数的类型要严格匹配,否这就会出错,所以上面的CStr()类型转换函数是不可缺少的。

  

  if not (rs.eof or rs.bof) then

  response.write "

错误,你输入的ID号已经被占用,请换一个再试试!
"

  

  else

  

  sql = "Insert Into 作者表 (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.Execute sql

  调用一个SQL的Insert语句把数据插入到数据库中。其实这一查询也可以做成存贮查询放在数据库中,我偷了点懒:-)不过对比之下也可以看到存贮查询的好处,运行时查询写起来实在是太麻烦了。
  • 转载请注明来源:IT学习者 网址:http://www.itlearner.com/ 向您的朋友推荐此文章
  • 文章关键词:  ASP  论坛 
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们,我们会尽快予以更正。
RSS订阅
  • 抓虾
  • google reader
  • 鲜果
  • QQ邮箱

音乐
犯贱 月光 包容 想你了 甩葱歌 黄梅戏 爱情错觉 星月神话 这就是爱 最幸福的人 爱笑的眼睛 321对不起 你不知道的事 看透爱情看透你 你还欠我一个拥抱
忐忑 爱过 浮夸 猜不透 洛丽塔 错的人 爱情买卖 和平分手 等你爱我 没那么简单 我的心好冷 姑娘我爱你 在回忆中死去 我的爱情不见了 你在我心中是最美
她说 偏爱 素颜 错错错 走天涯 套马杆 断桥残雪 爱是你我 郎的诱惑 客官不可以 我要去西藏 我的好兄弟 哥只是个传说 情歌没有告诉你 我和草原有个约定
天真 王妃 小三 爱琴海 要抱抱 单身歌 埋葬冬天 给力青春 荷塘月色 最好不相见 最炫民族风 新贵妃醉酒 贝多芬的悲伤 大笑江湖主题曲 给我一个理由忘记
加入收藏留言建议ASP探针PHP探针站长Enjoy的BlogAboutDomain
© 2010 IT学习者 - itlearner.com
RunTime:38.47ms