ASP資料庫簡單操作簡例

來源:互聯網
上載者:User

<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)
%>      
通過以上的幾句代碼我們就將表單中的資料讀進來了,接下來我們要做的就是將
資訊寫入資料庫了,寫入資料庫的方法上面都介紹了,這裡就不一一複述了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.