ASP数据库简单操作简例

Posted on 2009-07-29 23:52  严武  阅读(324)  评论(0编辑  收藏  举报

<1>.数据库连接(用来单独编制连接文件conn.asp)
<%
   Set conn = Server.createObject("ADODB.Connection")
   conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/bbs/db1/user.mdb")
%>
(用来连接bbs/db1/目录下的user.mdb数据库)

<2>显示数据库记录
   原理:将数据库中的记录一一显示到客户端浏览器,依次读出数据库中的每一条记录
         如果是从头到尾:用循环并判断指针是否到末       使用: not rs.eof
         如果是从尾到头:用循环并判断指针是否到开始     使用:not rs.bof
        
         <!--#include file=conn.asp-->     (包含conn.asp用来打开bbs/db1/目录下的user.mdb数据库)
         <%
          set rs=server.createObject("adodb.recordset")   (建立recordset对象)
          sqlstr="select * from message"   ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)
          rs.open sqlstr,conn,1,3          ---->(表示打开数据库的方式)
          rs.movefirst                     ---->(将指针移到第一条记录)
          while not rs.eof                 ---->(判断指针是否到末尾)
          response.write(rs("name"))       ---->(显示数据表message中的name字段)
          rs.movenext                      ---->(将指针移动到下一条记录)
          wend                             ---->(循环结束)
------------------------------------------------------         
          rs.close
          conn.close                     这几句是用来关闭数据库
          set rs=nothing
          set conn=nothing
-------------------------------------------------------
         %>
        其中response对象是服务器向客户端浏览器发送的信息

<3>增加数据库记录
增加数据库记录用到rs.addnew,rs.update两个函数
         <!--#include file=conn.asp-->     (包含conn.asp用来打开bbs/db1/目录下的user.mdb数据库)
         <%
          set rs=server.createObject("adodb.recordset")   (建立recordset对象)
          sqlstr="select * from message"   ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)
          rs.open sqlstr,conn,1,3          ---->(表示打开数据库的方式)
          rs.addnew                       新增加一条记录
          rs("name")="xx"                 将xx的值传给name字段
          rs.update                       刷新数据库
------------------------------------------------------         
          rs.close
          conn.close                     这几句是用来关闭数据库
          set rs=nothing
          set conn=nothing
-------------------------------------------------------          
                    
         %>

<4>删除一条记录
   删除数据库记录主要用到rs.delete,rs.update
    <!--#include file=conn.asp-->     (包含conn.asp用来打开bbs/db1/目录下的user.mdb数据库)
         <%
          dim name
          name="xx"
          set rs=server.createObject("adodb.recordset")   (建立recordset对象)
          sqlstr="select * from message"   ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)
          rs.open sqlstr,conn,1,3          ---->(表示打开数据库的方式)
-------------------------------------------------------       
          while not rs.eof
           if rs.("name")=name then
            rs.delete
            rs.update              查询数据表中的name字段的值是否等于变量name的值"xx",如果符合就执行删除,
           else                    否则继续查询,直到指针到末尾为止
            rs.movenext
           emd if
          wend
------------------------------------------------------
------------------------------------------------------         
          rs.close
          conn.close                     这几句是用来关闭数据库
          set rs=nothing
          set conn=nothing
-------------------------------------------------------
         %>

<5>关于数据库的查询
   (a) 查询字段为字符型
       <%
       dim user,pass,qq,mail,message
       user=request.Form("user")
       pass=request.Form("pass")
       qq=request.Form("qq")
       mail=request.Form("mail")
       message=request.Form("message")
       if trim(user)&"x"="x" or trim(pass)&"x"="x" then      (检测user值和pass值是否为空,可以检测到空格)
         response.write("注册信息不能为空")
       else
       set rs=server.createObject("adodb.recordset")
       sqlstr="select * from user where user='"&user&"'"     (查询user数据表中的user字段其中user字段为字符型)
       rs.open sqlstr,conn,1,3
       if   rs.eof then
         rs.addnew
         rs("user")=user
         rs("pass")=pass
         rs("qq")=qq
         rs("mail")=mail
         rs("message")=message
         rs.update
         rs.close
         conn.close
         set rs=nothing
         set conn=nothing
         response.write("注册成功")
        end if
       rs.close
       conn.close
       set rs=nothing
       set conn=nothing
       response.write("注册重名")
      %>
   (b)查询字段为数字型
      <%
       dim num
       num=request.Form("num")
       set rs=server.createObject("adodb.recordset")
       sqlstr="select * from message where id="&num    (查询message数据表中id字段的值是否与num相等,其中id为数字型)
       rs.open sqlstr,conn,1,3
       if not rs.eof then
       rs.delete
       rs.update
       rs.close
       conn.close
       set rs=nothing
       set conn=nothing
       response.write("删除成功")
       end if
       rs.close
       conn.close
       set rs=nothing
       set conn=nothing
       response.write("删除失败")
      %>

<6>几个简单的asp对象的讲解
    response对象:服务器端向客户端发送的信息对象,包括直接发送信息给浏览器,重新定向URL,或设置cookie值
    request对象:客户端向服务器提出的请求
    session对象:作为一个全局变量,在整个站点都生效
    server对象:提供对服务器上方法和属性的访问                                               
(a) response对象的一般使用方法
     比如:
        <%
         resposne.write("hello, welcome to asp!")
        %>
     在客户端浏览器就会看到   hello, welcome to asp! 这一段文字
       <%
response.Redirect("www.sohu.com")
       %>
     如果执行这一段,则浏览器就会自动连接到 “搜狐” 的网址
   关于response对象的用法还有很多,大家可以研究研究
   request对象的一般使用方法
比如客户端向服务器提出的请求就是通过request对象来传递的
列如 :你在申请邮箱的所填写的个人信息就是通过该对象来将
       你所填写的信息传递给服务器的
比如:这是一段表单的代码,这是提供给客户填写信息的,填写完了按
      “提交”传递给request.asp文件处理后再存入服务器数据库
     <form name="form1" method="post" action="request.asp">
       <p>
       <input type="text" name="user">
       </p>
       <p>
       <input type="text" name="pass">
       </p>
       <p>
       <input type="submit" name="Submit" value="提交">
       </p>
</form>
那么request.asp该如何将其中的信息读入,在写入数据库,在这里就要用到
request对象了,下面我们就来分析request.asp的写法
<%
dim name,password     (定义user和password两个变量)
name=request.form(“user”)   (将表单中的user信息传给变量name)
password=request.form(“pass”) (将表单中的pass信息传给变量password)
%>      
通过以上的几句代码我们就将表单中的数据读进来了,接下来我们要做的就是将
信息写入数据库了,写入数据库的方法上面都介绍了,这里就不一一复述了

Copyright © 2024 严武
Powered by .NET 9.0 on Kubernetes