网站源码下载PR查询短网址
首页编程数据库网页图形冲浪邮件下载浏览器QQ系统办公软件站长安全手机邮件认证组网通信


网站首页 -> 网络编程 -> ASP技巧
ASP技术在论坛中的运用(三)(吐血推荐!!!!)

发表日期:2000-4-26



 先要给出一个表单,能够让网友输入注册信息,这些是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语句把数据插入到数据库中。其实这一查询也可以做成存贮查询放在数据库中,我偷了点懒:-)不过对比之下也可以看到存贮查询的好处,运行时查询写起来实在是太麻烦了。


上一篇:ASP技术在论坛中的运用(二)(吐血推荐!!!!) 人气:14973
下一篇:ASP技术在论坛中的运用(四)(吐血推荐!!!!) 人气:15963
网站文章搜索
邮件订阅服务
输入你的邮件地址,你将不会错过任何关于<ASP技巧教程>的内容
今日更新文章
·教你一种新思路调色教程
·使用Lab颜色通道调出照片完美色彩
·PS打造柔美风格色调教程
·教你给宝宝皮肤美白教程
·利用风景图片制作特色明信片
·PS给照片制作蓝天背景
·Photoshop制作沧桑颓废的城市海报
·如何才能出现”添加至百度首页“标志
·没学历 没文凭 没背景 我选择了SEO
·不可小觑的论坛式外链
·SEO的价值并不仅仅体现在搜索引擎上
·Photoshop打造完美江景
本栏目推荐文章
·ASP进阶之文章在线管理更新(7)
·手机定位服务前景广阔
·java设计模式之Visitor
·怎样在VB中播放Flash动画
·在jsp程序中使用com组件
·如何配置Java Server Page运行环境
·WordPress 3.0五大新特征
·SpringFramework中的面向方面编程一
·java根据字符串类型(bar或KTV)获得奖品名
·路就在脚下 Java的发展路在何方?
·Java各类本地接口——规范大全
·VB使用编程技巧三则
Copyright © 2005-2012 www.Devdao.com All rights reserved | 沪ICP备05001343号 sitemap