asp连接access数据库怎么实现的

asp连接access数据库怎么实现的

通过ASP与ACCESS数据库建立连接(附源码)(1)
前言:

如何通过ASP与数据库建立连接是一个非常现实的问题,我尽量写得非常详细。相信看了这篇文章相信您已经能够写出类似的比较简单和实用的程序了。

(一)数据库的选择:

有许多的数据库你可以选择,SQL SERVER、ACCESS(*.mdb)、EXCEL(*.xls)、FOXPRO(*.dbf)甚至普通的文本文件(*.txt)都可以达到存储数据的功能。那么到底选择什么数据库最合适呢?其中SQL SERVER是服务器级的,足以应付每天上万次的访问量。对于非服务器级的数据库建议使用ACCESS97。因为:(1)只要安装了PWS或IIS4肯定有ACCESS的ODBC驱动,即你的系统肯定支持ACCESS数据库的存取。(2)ACCESS支持的SQL指令非常齐全。(3)ACCESS ODBC驱动程序的效率非常高。虽然它不是服务器级的数据库,但是作为中小型企业内部网的数据库支持还是绰绰有余的。(4)ACCESS97在OFFICE97中就有,非常方便得到和使用。

本文就以ACCESS数据库为准介绍基于WEB的数据库存取方法。

(二)例子:我们建立一个“客户”数据库,需要保存如下的客户资料:客户名称、联络人姓名、所在城市、电话号码。

(1)首先建立ACCESS数据库customer.mdb(今后有用的)。建立如下字段:客户名称、联络人姓名、所在城市、电话号码、客户编号、时间。将表保存为"客户"(今后有用的,===>看看图)。注意:建立字段时多作了2个(客户编号、时间),因为在今后排序时要用到它们。建议今后做数据库时最好都加上这2项,不会没用的。此外,在保存表时ACCESS会询问是否建立一个住关键字,我们不需要它所以不必建立。还有:时间字段的"默认值"设成"now()",即去系统当时的时间。同时将索引项设成"有(允许重复)",含义:WEB上极有可能同时存取数据,所以允许重复,索引设成"有"可以加快排序速度。===>看看图

(2)建立递交表单add.htm:

源代码如下:

<html>
<head>
<title>添加数据库记录</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF">
<p align="center"><font size="5">添加数据库记录</font></p>
<form method="post" action="adddatabase.asp">
<div align="center">
<table width="46%" border="0">
<tr>
<td width="28%">
<div align="right">公司名称: </div>
</td>
<td width="72%">
<input type="text" name="CompanyName">
</td>
</tr>
<tr>
<td width="28%">
<div align="right">联络人姓名: </div>
</td>
<td width="72%">
<input type="text" name="CName">
</td>
</tr>
<tr>
<td width="28%">
<div align="right">所在城市: </div>
</td>
<td width="72%">
<input type="text" name="City">
</td>
</tr>
<tr>
<td width="28%">
<div align="right">电话号码:</div>
</td>
<td width="72%">
<input type="text" name="Tel">
</td>
</tr>
<tr>
<td width="28%">
<div align="right"> </div>
</td>
<td width="72%">
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="reset" value="Reset">
</td>
</tr>
</table>
</div>
</form>
</body>
</html>

这与普通的HTML没有任何区别,关键部分已经用黄色标记了。递交方法用POST,递交后处理的程序是adddatabase.asp(下一步就重点讨论它)。还有就是给每一个项目取一个名字(NAME,后面有用)。

通过ASP与ACCESS数据库建立连接(附源码)(2)
浏览选项: 大中小 颜色 默认 灰度 橄榄色 绿色 蓝色 褐色 红色

(三)关键部分:建立与数据库的联系并将表单中收集到的信息添加到ACCESS数据库中。

ASP代码放在〈%和%>之间。

<%
CompanyName = Request("CompanyName")
CName = Request("CName")
City = Request("City")
Tel = Request("Tel")

以上,首先取得表单中填写的数据,使用ASP的Request对象非常容易可以实现数据的收集。双引号中的就是上一步建立的各个项目的名字(NAME)。所以今后为每个项目起名字是个好习惯,尽管有时候并不一定用得到。这样取得的数据就保存在等号坐侧的变量中了。

If CompanyName = "" Or CName = "" Or City = "" Or Tel = "" Then
'Response.Write "<html><body><center><font size=5>请将资料填写完整。</font></center></body></html>"
Response.Redirect "error.htm"
Response.End
End If

这里是检测各个项目是否输入了东西,如果为空则不往下继续执行,显示错误信息。注意:你可以使用两种方法。我都列出了。方法一:使用Response.Write方法写一个出错页面,类似于javascripts的document.write写法,只是ASP使用Response.write罢了。方法二:使用Response.Redirect方法导向出错页面error.htm。我在方法一的代码前加上单引号表示注释。(ASP中表示注释用单引号')。

set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath

(1)建立Connection对象:dbconnection,建立一个连接(Connection)是数据库存取的开始。我们使用ASP的内建对象方法Server.Createobject建立与数据库的连接。ADODB是ASP的数据库存取组件,不必担心只要有ASP就有它了,是内置的。
(2)使用dbconnection.open方法打开数据库customer.mdb。driver参数语法: driver={Microsoft Access Driver (*.mdb)}必须这么写。告诉系统使用ACCESS ODBC驱动处理。dbq参数用来指定打开的数据库文件,它必须是完整的路径。例如"c:inetpubwwwrootcustomercustomer.mdb",我们使用Server.MapPath的方法取得数据库的完整路径。

Set rs = Server.CreateObject("ADODB.Recordset")

建立Recordset对象rs。Connection仅仅是建立了与数据库间的连接,要存取数据还应该再建立Recordset对象。

rs.Open "客户", dbconnection, adOpenDynamic, 3

打开数据库中的表"客户"(客户是表名)。 语法:

rs.open 数据表名或SQL指令,已经建立的Connection对象(这里是dbconnection), 锁定类型

rs.AddNew
rs("公司名称") = CompanyName
rs("联络人姓名") = CName
rs("所在城市") = City
rs("电话号码") = Tel
rs.Update

用AddNew向数据库请求添加数据。最后用Update写入。注意:等号右侧的变量保存着用Request取得的表单数据。双引号内的就是数据库的字段,应该与数据库的一致啊。否则会出错的。这样变量内的数据就写入了数据库对应的字段内了。

Response.Write "<html><body><center><font size=5>祝贺,您的数据已经添加进数据库了!<p>"
Response.Write "<a href='viewdatabase.asp'>查看数据</a>"
Response.Write "</font></center></body></html>"

写入成功后显示祝贺信息并建立查看数据库记录的连接。

%>
<html>

<head>
<title></title>
</head>

<body>
</body>
</html>

通过ASP与ACCESS数据库建立连接(附源码)(3)
浏览选项: 大中小 颜色 默认 灰度 橄榄色 绿色 蓝色 褐色 红色

(三)显示/查看数据库记录:

<%
set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath

建立与数据库的连接,与上同。

SQL="select * from 客户 Order By 时间 DESC"
SET CustomerList=dbconnection.EXECUTE(SQL)
%>

建立SQL查询语句,表示从"客户"表中查询所有记录,Order By 时间 DESC表示"按时间降序排序,"这样最后添加的信息再最上面显示。下面一句执行SQL查询并将结果返回给Recordset对象CustomerList。

<html>
<body>
<FONT SIZE="5"><center>数据库记录</center></FONT>
<CENTER>
<TABLE BORDER=1>
<tr>

<td>编号</td>
<td>公司名称</td>
<td>联络人姓名</td>
<td>所在城市</td>
<td>电话号码</td>
</tr>
<% DO WHILE NOT CustomerList.EOF %>

检测记录是否到了最后一条。EOF表示End of File。

<TR>
<TD><% =CustomerList("客户编号") %></TD>
<TD><% =CustomerList("公司名称") %></TD>
<TD><% =CustomerList("联络人姓名") %></TD>
<TD><% =CustomerList("所在城市") %></TD>
<TD><% =CustomerList("电话号码") %></TD>
</TR>

<% =CustomerList("客户编号") %>可以说是Response.Write方法的简写。将"客户编号"字段内的数据写入TD标签间。

<% CustomerList.movenext
loop
%>

如果还没有到最后一条则指针移动到下一条。用Do While ... Loop循环逐一取得所有的记录。

</TABLE>
</CENTER>

<center>
<input type="button" onclick="javascript:location.href='add.htm'" value="添加数据">
</center>
</BODY>
</HTML>

缺陷:仅仅实现了最基本的功能。先不说其它功能,仅就数据的添加和查看功能来看,比较完美的还应该加入“分页功能”。否则数据大到一定程度显示全部数据基本上是不可能的。
本期至此全部完毕。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-20
<%
set conn=server.CreateObject("adodb.connection")
conn.open "DRIVER=microsoft access driver (*.mdb);DBQ="&Server.MapPath("data/data.mdb")
%>

把上面这些代码保存为conn.asp
然后在需要连接数据库的页面<html>前加入一句<!--#include file="conn.asp"-->
第2个回答  2010-05-20
asp连接ACCESS数据库可以有两种方式,一种是通过数据源的方式,不过此方法的移植性不好,每次移动都得更改DSN,另一种则是文件系统,能过相对路径或是相对路径,至于两种方式的详细实现你可以查看http://www.psufool.cn

参考资料:www.psufool.cn

第3个回答  2019-11-10
它的各步骤及参数意义如下:
  第一行程序:利用Server对象的MapPath函数,取得要打开数据库的完整的文件路径,并存储在变量DbPath中。这其中,数据库名是我们需要指定的参数,应该用我们要打开的数据库的实际名称替代。如果数据库名是直接作为常量出现,要用引号将其括起来,并且不能丢掉扩展名。例如数据库是Test.mdb,则该行程序成为:DbPath=Server.MapPath(“Test.mdb”)。
  第二行程序:建立一个ADO对象集中的Connection对象,也即连接对象。这是建立数据库连接的初始步骤。执行这行程序后,Conn成为一个连接对象。
  第三行程序:利用连接对象Conn的Open方法打开一个指定的数据库。因为我们要打开的是Access数据库,所以要指定ODBC驱动程序参数,表示要透过Access的ODBC驱动程序来访问数据库:driver={Microsoft
Access
Driver
(*.mdb)};。另一个参数dbq=
&
DbPath,运算后等效于dbq=Server.MapPath(数据库名)
,是利用了第一行的Server.MapPath(数据库名)函数,用来指定要打开的数据库文件。到这里,就已经打开了数据库名指定的数据库。如果数据库名是“test.mdb”,则打开Access数据库Test.mdb。在这一行里指定的参数,要严格按照格式原样写出,不能省略或改动,也没有可变参数。

asp.net如何连接accessASP.NET连接数据库
第一种方法是真的拉一个控件,比如GridView和DataList,在设计页面上,点击右上角的三角形新建一个数据源,在弹出的对话框中选择数据库,新建一个连接,在添加连接对话框的更改中选择Access数据库,然后在浏览中选择你的数据库。如果测试成功,下一步就容易多了。数据库连接的第二种方法:选择“新建连接?

在asp中怎么连接Access数据库
1、设置数据库连接方式:set dbconnection=Server.CreateObject("ADODB.Connection")DBPath = Server.MapPath("customer.mdb")dbconnection.Open "provider=microsoft.jet.oledb.4.0;data source="&dbpath SQL="select * from auth where id='" & user_id &"'"SET uplist=dbconnection.EXECUTE(SQL)...

怎样在asp.net中连接ACCESS数据库?
第一种方法,就是真接在在设计页面上拉一个控件,例如GridView、DataList,点击右上角那个三角符,新建数据源,在跳出的对话框选择数据库,新建连接,在添加连接对话框的更改那里选择Access数据库,之后在浏览那里选择你的数据库,测试成功的话,接下来的,就比较容易了。连接数据库第二种方法:是从图中的Conncti...

asp怎么连接access数据库?
第三行程序:利用连接对象Conn的Open方法打开一个指定的数据库。因为我们要打开的是Access数据库,所以要指定ODBC驱动程序参数,表示要透过Access的ODBC驱动程序来访问数据库:driver={Microsoft Access Driver (*.mdb)};。另一个参数dbq= & DbPath,运算后等效于dbq=Server.MapPath(数据库...

asp 连接 access 数据库 几种方法
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")方法2:Set conn = Server.CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")注意:一个页面中,只要连接一次就可以了,数据库使用...

asp 如何连接access数据库
1、首先新建一个access数据库。access的版本建议是2003年版本的,没有access可以自行下载安装。数据库的名字我们就叫db1.mdb,新建数据库表明为table_1,在表1中新建name等几个字段,并相应插入字段值。2、用FTP工具在虚拟服务器中新建一个mytest文件夹,将该数据库上传到mytest文件夹中。3、在mytest...

asp怎么连接access数据库?
set conn=server.createobject("adodb.connection")conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("example3.mdb")> 第一句话定义了一个adodb数据库连接组件,第二句连接了数据库,大家只要修改后面的数据库名字就可以了。是不是很简单?下面再看三句:< exec="select...

关于ASP如何与ACCESS数据库连接问题
首先在外圈先弄一个表单。把每个文本框都赋一个ID或者NAME。在下面做一个提交按钮提交表单。全部做好之后,首先链接数据库。连接好之后 set rs=server.createobject("adodb.recordset")sql="select * from 表名 where (id is null)"rs.open sql,conn,1,3 rs.addnew 下面写的就是你要插入的字段...

用asp做网站时如何使用access数据库实现页面之间的连接 (不设置用户...
ASP网页与数据库的连接是通过ADO的Connection对象完成的。Connection可以打开和关闭数据库。对于Access数据库,具体的连接方法有三种:(1)OLE DB连接方法。格式如下:Set objConn = Server.CreateObject("ADODB.Connection")Provider = "Provider=Microsoft.Jet.OLEDB.4.0;"DBPath = "Data Source=" & ...

ASP如何连接ACESS数据库,数据接口是什么
数据库的接口有ODBC数据源接口与字符串连接两种方式 楼上的所属方式为字符串方式,也是现在asp+access b\/s模式中比较常见,便于管理的一种方式 ODBC数据源连接由于移植性差已慢慢淡出我们的视野,但仍然有用武之地 现在的字符串连接也有两种方式:第一种是DSN DBQ="&Server.MapPath("tushu.mdb")&";...

相似回答