ASP資料庫簡單操作教程

javaprogramers發表於2005-04-05
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("刪除失敗") 
% > 
%>

相關文章