第一种连接和记录集分开声明
<%
db="db/darden.mdb"
set conn=server.createobject("ADODB.connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & db & "")
conn.open connstr
%>
<%
set rs=server.createobject("adodb.recordset")
sql="select * from ebook order by id desc"
rs.open sql,conn,3,3
rs.addnew
......
......
rs.update (rs.delete)
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write("<center><a href=viewdatabase.asp>显示文字</a></center>")
Response.Redirect "homepage.asp"
%>
第二种连接和记录集一同声明
<%
set rs=server.createobject("adodb.recordset")
sql="select * from ebook order by id desc"
conn = "DBQ=" + server.mappath("book.mdb") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
rs.open sql,conn,3,3
rs.addnew
......
......
rs.update (rs.delete)
rs.close
set rs=nothing
response.write("<center><a href=viewdatabase.asp>显示文字</a></center>")
%>
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(删除失败)
%>