您的位置:首页 > 编程语言 > ASP

ASP数据库操作--详细讲解

2009-02-08 19:38 405 查看
<1>.数据库连接(用来单独编制连接文件conn.asp)

<%

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("user.mdb")

%>

<2>显示数据库记录

原理:将数据库中的记录一一显示到客户端浏览器,依次读出数据库中的每一条记录

如果是从头到尾:用循环并判断指针是否到末 使用: not rs.eof

如果是从尾到头:用循环并判断指针是否到开始 使用:not rs.bof

<!--#include file=conn.asp--> (包含conn.asp用来打开user.mdb数据库)

<%

set rs=server.CreateObject("adodb.recordset") (建立recordset对象)

sqlstr="select * from message" ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)

rs.open sqlstr,conn,1,3 ---->(表示打开数据库的方式)

rs.movefirst ---->(将指针移到第一条记录)

do while not rs.eof ---->(判断指针是否到末尾)

response.write(rs("name")) ---->(显示数据表message中的name字段)

rs.movenext ---->(将指针移动到下一条记录)

loop---->(循环结束)

------------------------------------------------------

rs.close

conn.close 这几句是用来关闭数据库

set rs=nothing

set conn=nothing

-------------------------------------------------------

%>

其中response对象是服务器向客户端浏览器发送的信息

<3>增加数据库记录

增加数据库记录用到rs.addnew,rs.update两个函数

<!--#include file=conn.asp--> (包含conn.asp用来打开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用来打开user.mdb数据库)

<%

dim name

name="xx"

set rs=server.CreateObject("adodb.recordset") (建立recordset对象)

sqlstr="select * from message" ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)

rs.open sqlstr,conn,1,3 ---->(表示打开数据库的方式)

-------------------------------------------------------

do while not rs.eof

if rs.("name")=name then

rs.delete

rs.update 查询数据表中的name字段的值是否等于变量name的值"xx",如果符

合就执行删除,

else 否则继续查询,直到指针到末尾为止

rs.movenext

emd if

loop

------------------------------------------------------

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("删除失败")

%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: