教程|数据|数据库
<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("删除失败")
% >
%>