当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP数据库简单操作教程

ASP
统计在线人数 dxy
ASP 写的自动生成SELECT 表单的函数
自己做采集程序
巧用缓存提高asp程序的性能
多字段模糊搜索的函数
打包上传asp网站
FreeTextBox 中文版下载[含源代码] of asp.net
asp 防止SQL注入代码
asp实现无限级分类的方法js版
多附件上传组件演示
替换数据库内容
E-mail表单递交
也谈采集入库的技术
先锋海盗类
XML相关技术资料
让ASP搭配MYSQL
ASP远程保存图片
整理了下手动注入脚本命令[带注释]
也谈跨站脚本攻击与防御
突破空格的限制

ASP数据库简单操作教程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 165 ::
收藏到网摘: n/a

<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
respo