ASP資料庫簡單操作教程
<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("刪除失敗")
% >
%>