问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样通过ASP来链接access数据库,请叫高手,讲讲原理

发布网友 发布时间:2022-04-29 06:14

我来回答

5个回答

热心网友 时间:2022-04-08 11:52

您好Thunder ,非常高兴回答您的问题:
.
看了您的问题,我想有针对性的,简单的给您进行解答和诠释。
.
【如何才能与ACCESS建立链接关系】
.
我们要做的是建立一个access数据库路径绑定和创建access数据库的操作,通常情况下,我们网站开发者要遵循一种习惯和规范,即,将这个连接数据库的程序放在单独的一个.asp文件里,以便用于今后的多次调用(因为数据库在很多情况下用到,这样做提高效率)
.
《步骤一》 下面,我们创建一个文本文档(.txt),起名叫conn(即conn.txt)
《步骤二》 打开文本文档,输入如下链接代码(为了区分,我们以后将代码放置****里以便观察)
.
***************************************************************************
<%
dim conn
dim connstr
connstr="Provider = Microsoft.Jet.OLEDB.4.0;Data Source = "&Server.MapPath("路径")
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
%>
***************************************************************************
.
此时Server.MapPath("路径") ,里的路径就是你的.mdb数据库文件的相对地址,如,您的数据库文件名为data.mdb 在主目录下,则此时应该写为Server.MapPath("data.mdb"),如果在主目录下的shuju的文件夹里,则应该写为Server.MapPath("sj/data.mdb"),明白了吗?
.
《步骤三》 我们将这个存有程序文本文档保存,更改它的后缀名为.asp(即 conn.asp) 一个数据库连接功能的asp文件诞生了,她就是conn.asp,我们今后要用到数据库的时候就要调用它。
.
【小贴士:如何随时调用这个家伙】
.
我们在要连接数据库的文件里(asp文件),所有代码(包括html标记)的最顶端(也就是代码的第一行),输入外部include调用代码:
.
*****************************************
<!--#include file="conn.asp"-->
*****************************************
.
相信您应该明白这段代码的含义,就是把刚才我们做的数据库代码给借用过来,谁都可以借用她,当然,它的路径也是相对于这个页面的位置,要准确哦~
.
比如:您要在首页文件(index.asp)里面用到数据库,您的操作是:
.
*************************************************
<!--#include file="conn.asp"-->
<Html>
<head>
<title>我是首页</title>
</head>
<body>
哈哈,我是首页的主体内容
</body>
</html>
**************************************************

热心网友 时间:2022-04-08 13:10

方法如下:
第一种连接和记录集分开声明
<%
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(删除失败)
%>

热心网友 时间:2022-04-08 14:45

ASP连接数据库有多种方式,一般我们常用的有两种
1.OLE DB连接方式 2.ODBC数据源连接
------
1.OLEdb字符串连接方式:
要求1个asp文件/1个mdb数据库文件.(test.asp/db.mdb)
mdb数据库文件要求放在web主目录里,一般放在asp文件的同一目录下,
<%'==================================连接数据库
SET Conn= Server.CreateObject("ADODB.Connection") '新建ado连接
conn.Provider="Microsoft.Jet.OLEDB.4.0" '设置连接方式
Conn.Open Server.MapPath("stu.mdb") '打开数据源 server.mappath用来获取文件物理路径

Set rs=server.CreateObject("adodb.recordset") '创建一个记录集用于存放数据库表中的信息
sql="select * from book order by B_id desc" '设置sql查询语句
rs.open sql,conn,1,1,1 '执行sql查询语句 并将查询结果放到rs记录集中

'下面就可以根据个人需要进行输出啦(输出记录行/列/统计/等等)
response.write rs.recordcount '该语句为输出记录集中记录条数
%>

2.设置ODBC数据源方式连接
首先,在"控制面板""管理工具""ODBC数据源"里面设置"系统DSN"数据源(设置dsn名称如:aaa,添加mdb数据库文件,mdb文件不*存放位置)
编写代码,进行odbc连接
SET Conn= Server.CreateObject("ADODB.Connection")
conn.open "DSN=aaa" '打开数据源,数据库连接完成

下面就是创建记录集,输出信息啦.(和上面的一样)
---------
区别:
优点:方式1,字符串连接,不受服务器*,无需手动设置服务器,灵活方便
方式2,mdb文件存放位置不*,故相对安全
缺点:方式1,数据库文件安全性不高
方式2,需要手动设置服务器,仅适用于本地服务器,或系统管理员

热心网友 时间:2022-04-08 16:36

ASP对数据库的链接你可以理解为:
  1.创建数据库
Set Conn=Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+server.mappath("数据库文件名.mdb")+";Jet OLEDB:Database"
Conn.Open connstr  '通过conn.open connstr来打开对应的数据库
   
  2.打开数据库中的表
sql="select * from 表 where 条件"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
'conn是步骤1已经定义并已经链接或打开的数据库

  3.对表中的数据进行操作
    
rs("text")="新内容"
    rs.update
对步骤2查询到的数据进行更新操作

  4.关闭查询表集合,关闭数据库链接
   rs.close
set rs=nothing
conn.close
set conn=nothing

热心网友 时间:2022-04-08 18:44

access是一种以文件形式储存的小型数据库,可以与网页文件并存在同一目录中。

首先要用数据库链接语句与数据库进行连接:

Set Conn=Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+server.mappath("数据库文件名.mdb")+";Jet OLEDB:Database"
Conn.Open connstr
--------------------以上语句一般固定不变的

接下来就是对数据库查询:

set rs=server.createobject("adodb.recordset")
sql="select 数据库中的字段 from 数据库中的表 where 查询条件"
rs.open sql,conn,1,3

---------------------格式一般也是固定的,不同的是更换字段名,表名,查询条件。

最后就是输出内容,一般用循环输出,这里就略了,简单的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
脚崴了挂什么科、急急急 linux 解压缩工具--tar命令 生日祝福语闺蜜 简短独特暖心 QQ有哪些隐藏的图标??他们分别是什么??怎么样点亮?? QQ业务的各种图标怎么点亮? qq怎么点亮图标和名字 诗中书万象=求下联 大爱如山藏万象下联 中国电子展:电位器和可调电阻的区别是什么?这四点很明显 电位器的接线方法是什么 电位器的工作原理如何 推荐一本access的书给我 php做的论坛如何使用Access数据库 急~~!!怎样在ACCESS中做一个带有用户名、密码的登陆窗体? 如何向Access数据库提交数据 “洋得利”自热小火锅里面都有哪些食材呐? 古墓丽影中Lara Croft开的越野战车是什么牌子的?什么型号的? 在拼多多用支付宝买东西然后支付宝账号注销退款余额打到哪里? 支付宝账户注销了,余额钱怎么弄出来 支付宝账号注销后余额已转到银行卡里什么时候到帐 支付宝注销后余额宝上钱怎么办 专用存款帐户可以支取现金吗? 语文的阅读写作很不好,南京哪里有阅读写作班可以上的? 怎样进行专账管理? 南京哪里有好的小学生作文培训班,孩子每次写作文就很犯愁,想给他提高一下。 我雅思写作分数低 南京新航道有雅思写作专项班吗? 南京朗阁雅思有哪些班雅思写作高分经验谈 公司未单独设计专项资金使用账户说明? 南京秦淮区有没有比较好的高考作文一对一辅导班,听说纳思书院还行,有报过的求介绍? 专项资金不建立专项账户属于违法行为吗? 南京有什么初中作文培训班?主要是记叙文写作。谢谢 学计算机二级access用什么教材? 梦见小孩死在自己家里流了一堆血在自己家 哪里有比较好的Microsoft access教程和实践操作题和解答推荐? 梦见与人吵架别人孩子死在家中好吗? 谁能告诉我一个学习网页制作的网站?谢谢 SQL 2008 怎么搞起的哦,提示无比垃圾。 求Access 2010中文版入门与实例教程PDF下载,发到邮箱也可以648982114@qq... jsp好学么?是语言还是开发工具? 一个咸鸭蛋的热量有多少 “做一枚安静的咸鸭蛋,闲的要命,富的流油”什么意思? 请问一个咸鸭蛋有多重? 一天一个咸鸭蛋致癌吗 一个咸鸭蛋,一碗米饭,哪个热量高 有什么方法偷别人的QQ密码? 盗QQ密码? 苹果恢复大师icloud怎么恢复备份 抖音与好友同步信息 谁用过苹果恢复大师?换手机把icloud全部清空了,备忘录有重要的东西能恢复吗?用过的回答,谢谢! 苹果恢复大师无法登录iCloud怎么办 苹果恢复大师icloud怎么用