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

本人菜鸟请教高手问题:1.ASP如何才能与ACCESS建立链接关系?2.ACCESS的链接地址是怎样获取的呢?请高手指教,谢谢!... 本人菜鸟请教高手问题:1.ASP如何才能与ACCESS建立链接关系?2.ACCESS的链接地址是怎样获取的呢? 请高手指教,谢谢! 展开
 我来答
匿名用户
2014-01-21
展开全部
您好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>
**************************************************
育知同创教育
2016-03-03 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
方法如下:
第一种连接和记录集分开声明
<%
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(删除失败)
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-21
展开全部
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,需要手动设置服务器,仅适用于本地服务器,或系统管理员
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-21
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-21
展开全部
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

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

最后就是输出内容,一般用循环输出,这里就略了,简单的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式