通过ASP与ACCESS数据库建立连接
- 格式:docx
- 大小:228.17 KB
- 文档页数:3
教你怎么用asp连接access数据库
asp怎幺连接access数据库,或者asp连接access数据库的方法,其实很简单。
本文就是关于asp连接access数据库方面的知识,希望给您提供不一样的收获。
方法/步骤
首先新建一个access数据库。
access的版本建议是2003年版本的,没有access可以自行下载安装。
数据库的名字我们就叫db1.mdb,新建数据库表明为table_1,在表1中新建name等几个字段,并相应插入字段值
用FTP工具在虚拟服务器中新建一个mytest文件夹,将该数据库上传到mytest文件夹中
在mytest文件夹下,新建一个test.asp文件,该文件的内容如下:
set conn=Server.CREATEOBJECT(“ADODB.CONNECTION”)
DBPath = Server.MapPath(“db1.mdb”)
conn.Open “driver={Microsoft Access Driver (*.mdb)};dbq=“ & DBPath sql=“select * from table_1 order by id asc”
set rs=server.createobject(“adodb.recordset”)
rs.open sql,conn,1,1
do while not rs.eof
response.write(rs(“name”))
rs.movenext
loop。
前言:如何通过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上极有可能同时存取数据,所以允许重复,索引设成"有"可以加快排序速度。
Asp连接access数据库时,报未知错误及错误码-2147467259的解决方案Asp连接access数据库时,报未知错误及错误码-21474672 59的解决方案ASP程序连接access数据库的代码如下:<%set conn=server.createobject("adodb.connection")'连接数据库的方法1:使用oledbstr="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("学习.mdb")conn.open str%>结果在服务器上运行该程序时提示如下错误:err.Number显示的是-2147467259,err.Description显示的是“未知错误”迷惑了很久,当时在课堂上一直找不到原因。
之前运行其他ASP 程序都是好好的,一遇到数据库就出错了。
很尴尬,跟学生解释说服务器出了点小问题,随后我解决了再告诉大家。
硬着头皮接着讲课,其实很心虚。
一下课,猛蹬着自行车回到家中,立马上网搜索答案。
找了很久,决定下次上课试试这些方法行不行。
下次上课我提早到教室。
心说这次解决不了那以后就回机房上课好了。
结果一次就成功了!欢呼!解决方案:为”C:\Windows\T emp“目录添加用户Authenticated Users,为该用户开放所有权限。
(1)WindowsXP、Windows 2003用户请在“C:\Windows\T emp”目录添加一个有权限的“Authenticated Users”用户即可!Vista用户请在“C:\Windows\ServiceProfiles\NetworkService\AppData\Local\T emp”目录添加一个有权限的“Authenticated Users”用户即可!具体设置权限步骤:右击T emp文件夹,选择“属性”->“安全”->“编辑”->“添加”,在下面的“输入对象名称来选择”中输入Authenticated Users,确定-> 返回到“Temp 的权限”,将Authenticated Users的权限中的完全控制给勾上。
ASP连接Access数据库几种常见方法在弹出来的“自定义连接字符串”对话框中,"连接名称"随便写一个。
“连接字符串”就要好好填写了。
当"使用此计算机上的驱动程序"时应用绝对路径:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\newgn\database\cnbruce.mdb否则“使用测试服务器上的驱动程序”采用Mappath转换路径:"Driver={Microsoft Access Driver (*.mdb)};DBQ="& server.mappath("/newgn/database/cnbruce.mdb")注:如果将要上传到网上去的页子就可以直接采用Mappath了点击“测试”,出现成功即爽。
附注:需要更多了解的,可以打开DW的帮助教程。
第一种连接和记录集分开声明<%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,3rs.addnew............rs.update (rs.delete)rs.closeset rs=nothingconn.closeset conn=nothingresponse.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,3rs.addnew............rs.update (rs.delete)rs.closeset rs=nothingresponse.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.closeconn.close 这几句是用来关闭数据库set rs=nothingset 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.closeconn.close 这几句是用来关闭数据库set rs=nothingset conn=nothing-------------------------------------------------------%><4>删除一条记录删除数据库记录主要用到rs.delete,rs.update<!--#include file=conn.asp--> (包含conn.asp用来打开bbs\db1\目录下的user.mdb数据库)<%dim namename=xxset rs=server.CreateObject(adodb.recordset) (建立recordset 对象)sqlstr=select * from message ---->(message为数据库中的一个数据表,即你要显示的数据所存放的数据表)rs.open sqlstr,conn,1,3 ---->(表示打开数据库的方式)-------------------------------------------------------while not rs.eofif rs.(name)=name thenrs.deleters.update 查询数据表中的name字段的值是否等于变量name的值xx,如果符合就执行删除,else 否则继续查询,直到指针到末尾为止rs.movenextemd ifwend------------------------------------------------------------------------------------------------------------rs.closeconn.close 这几句是用来关闭数据库set rs=nothingset conn=nothing-------------------------------------------------------%><5>关于数据库的查询(a) 查询字段为字符型<%dim user,pass,qq,mail,messageuser=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(注册信息不能为空)elseset rs=server.CreateObject(adodb.recordset)sqlstr=select * from user where user='&user&' (查询user数据表中的user字段其中user字段为字符型)rs.open sqlstr,conn,1,3if rs.eof thenrs.addnewrs(user)=userrs(pass)=passrs(qq)=qqrs(mail)=mailrs(message)=messagers.updaters.closeconn.closeset rs=nothingset conn=nothingresponse.write(注册成功)end ifrs.closeconn.closeset rs=nothingset conn=nothingresponse.write(注册重名)%>(b)查询字段为数字型<%dim numnum=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,3if not rs.eof thenrs.deleters.updaters.closeconn.closeset rs=nothingset conn=nothingresponse.write(删除成功)end ifrs.closeconn.closeset rs=nothingset conn=nothingresponse.write(删除失败)。
DW制作ASP动态网页与access数据库连接教程.doc设置IIS构建了一个正确的网页开发环境,实际上这里最重要的是我们要确定我们安装的web服务器(如win2000/xp以上为IIS)IIS是否已经正确启动了。
如何确定呢?我们可以启动IE浏览器,在地址栏中输入“http://localhost/”或“http://127.0.0.1/”或“http://计算机名/”看看能不能打开默认的网页,如过能打开IIS默认的网页,则说明IIS已经正常启动了,这时就可以用来测试asp动态网页了。
为了更好的进行测试,我们也可以打开IIS管理器对IIS进行具体设置。
打开 "控制面板"-->"管理工具"-->"internet信息服务器" 这样就打开了IIS管理器。
如图1图1我们可以对“默认WEB站点”的主目录进行更改。
主目录是什么?想详细知道IIS的详细设置的话,可以看相关专业书籍哦。
我们这里要讲求“速成”,我们可以理解为,主目录就是我们要存放代测试的动态网页的地方。
其默认的路径为“C:\Inetpub\wwwroot\”如果你想更改主目录也非常简单:选中“默认web站点”-->右击-->选择“属性”在弹出的窗口中选择“主目录”选项卡,这样就可以给该为任意的磁盘分区或目录了,当然是越方便越好了,本人的电脑,主目录被我改成了“f:\webtest\”如下图所示:用Dreamweaver+access制作一个简单的asp新闻发布系统(二)2009年05月11日星期一下午 05:17----数据库与测试站点的建立分析实现所要实现功能首先我们要明确,一个新闻发布系统所能实现的最基本的功能:1、一般在网站的首页有新闻的标题列表(news_list.asp)2、通过显示的新闻标题可以看到新闻的内容(news_detail.asp)3、有一个管理员登陆的入口(login.asp)4、添加新闻的页面(news_add.asp)5、编辑新闻的列表的页面(news_edit.asp)6、修改并更新新闻的页面(news_update.asp)7、此外还有新闻修改和删除成功的页面(news_del_ok.asp,news_update_ok.asp)从上面的分析可以看出,我们只要制作10个左右的页面就可以实现动态发布新闻的功能了。
ASP连接数据库的11种方法1.Access数据库的DSN-less连接方法:set adocon=Server.Createobject("adodb.connection")adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _Server.MapPath("数据库所在路径")2.Access OLE DB连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _"Data Source=" & Server.MapPath("数据库所在路径")3.SQL server连接方法:set adocon=server.createobject("adodb.recordset")adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _"database=数据库名;"4.SQL server OLE DB连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _"user ID=***;Password=***;"& _"inital Catalog=数据库名"5.Oracle 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"6.Oracle OLE DB 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"7.dBase 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"8.mySQL 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"9.Visual Foxpro 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"10.MS text 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;"&_"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"11.MS text OLE DB 连接方法:set adocon=Server.Createobject("adodb.connection")adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_"Extended Properties'text;FMT=Delimited'"<二>常用的四种SQL命令:1.查询数据记录(Select)语法:Select 字段串行 From table Where 字段=内容例子:想从book表中找出作者为"cancer"的所有记录,SQL语句便如下:select * from book where author=’cancer’"*"是取出book表所有的字段,如查询的字段值为数字,则其后的"内容"便无须加上单引号,如是日期,则在Access中用(#)包括,而在SQL server中则用(’)包括,如:select * from book where id=1select * from book where pub_date=#2002-1-7# (Access)select * from book where pub_date=’2002-1-7’ (SQL Server)提示:日期函数to_date不是标准sql文,不是所有的数据库适用,所以大家在使用的时候要参考数据库具体语法另外如果是查询传入的变量,则如下:strau=request.form("author")strsql="select * from book where author=’"&strau&"’"如果查询的是数字,则:intID=request.form("id")strsql="select * from book where id="&intID在很多数据库中,如:oracle,上面的语句是可以写成:strsql="select * from book where id='"&intID&"'"但是字符型一定不能按照数字格式写,需要注意。
ASP与Access数据库连接【操作步骤】一、创建站点1. 配置好IIS后,打开Dreamweaver,选择“站点”—“新建站点”,设置如下所示:2.选择“文件”—“新建”,新建一动态ASP VBScript网页。
二、创建数据库1. 在网站根目录下建立一个Database文件夹用于存放数据库文件。
创建一个Access数据库,将其命名为db1.mdb存放在Database文件夹中。
2.打开db1.mdb数据库,双击“使用设计器创建表”,打开创建数据表窗口,在“字段名称”中输入id,在数据类型中选择“自动编号”。
单击快捷菜单中图标,设置id字段为主键。
应用相同的步骤,继续添加完相应的字段并创建好其它数据表后。
Access数据库就创建好了。
三、连接数据库1.打开Dreamweaver,选中工具栏上“应用程序”选项,单击选项。
2.在打开的“记录集”对话框。
单击“定义……”,弹出链接到站点的对话框,单击“新建”按钮,选中“数据源名称<DSN)”选项。
3.在弹出的“数据源名称<DSN)”对话框中,单击“数据源名称<DSN)”中选择右边的“定义……”。
4.在弹出的“ODBC数据源管理器”对话框中选择“系统DSN”选项卡,选择“添加……”。
5.在弹出的对话框中选择“Microsoft Access Driver<*.mdb)”。
6.确定后在弹出的对话框里选择录入数据源名称,单击“选择”在弹出的“选择数据库”对话框中找到刚才我们建立的数据库,单击“确定”“确定”“确定”。
退回到“数据源名称<DSN)”对话框。
7.在“数据源名称<DSN)”对话框中选择“使用服务器上的DSN”,单击“DSN……”选择刚才新建立的数据源。
8.单击“测试”按钮,对数据源进行测试,测试成功后弹出成功创建连接脚本的对话框。
单击“确定”、“完成”,退回到“记录集”对话框。
9.在“连接”里选择刚才的数据库。
单击“确定”完成。
ASP操作ACCESS数据库操作数据库请按照下面的步骤来操作。
一、建立一个ACCESS数据库,使用设计器设计一个表,加一个字段,字段名为ID,数据类型为自动编号,再增加一个字段,名字为NAME,数据类型为文本,然后保存,保存表名为BOOK。
关闭数据库,然后并把这个数据库文件名改为book.mdb。
二、建立一个文本文件,在里面输入如下信息<%' 连接数据库dim ConnStr,Conn,rs,iConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath("book.mdb") On Error Resume NextSet conn = Server.CreateObject("ADODB.Connection")Conn.Open ConnStrIf Err ThenErr.ClearSet Conn = Nothingresponse.write "数据库连接失败..."Response.End()End If'查询数据库Sql="select * from book order by id desc"Set Rs = Server.CreateObject("Adodb.RecordSet")Rs.Open Sql,Conn,1,1if RS.eof thenresponse.write "还没有数据"elsefor i=0 to Rs.recordcountif rs.eof then exit forresponse.write "ID:"&RS("id")&" 名字:"&RS("name")&""&chr(10)nextrs.closeconn.closeset rs=nothingset conn=nothingend if%>三、将这个文本文件保存并改成index.asp,再打开刚才的数据库,打开表book,在name 字段里面输入一些字符,然后关闭。
假定所有操作均在如下环境下进行:1. XP SP2 系统,系统中已安装了IIS 服务器和Office2003(用其中的Access2003 建立数据库),网站制作工具是Dreamweaver MX 2004 或Dreamweaver 8(下面均简称DW );2. 假设你网站本地存放位置是F:\try,网站主页文件是index.asp 本地存放于F:\try\下,做数据库连接试验用的数据库名字是aaa.mdb,本地存放位置是F:\try\data\aaa.mdb。
3. 在本地IIS 中已经为你在F:\try 下的网站建立了虚拟目录,虚拟目录的名字由你自己决定,例如仍命名为try 。
一、在本地“浏览”调试网站时的连接方法在DW 或本地的IIS 服务器下浏览、调试网站访问数据库时,自定义连接字符串中使用数据库的绝对路径,操作如下:打开DW,建好站点,打开所需网页,例如主页文件index.asp,在弹出的“自定义连接字符串”对话框中“连接名称”栏填写自定义的名称(为了养成好的编程习惯,最好名称前加上conn 前缀,表明这是一个数据库的连接名称,例如本来你想起的连接名称为test,加上conn 前缀后的连接名称为conntest)。
在“连接字符串”栏中填写:"Driver={Microsoft Access Driver (*.mdb)};DBQ=你的数据库的绝对路径"把本文开始处假定的具体参数代进去就是:"Driver={Microsoft Access Driver(*.mdb)};DBQ=F:\try\data\aaa.mdb"一定要注意:Driver 和(*.mdb) 之间有个空格,不要写错了!写错了不能通过“测试”,当然也连接不上数据库。
上面连接字符串两端的双引号在输入时可以省略,DW 会自动为你补上的。
在“Dreamweaver 应连接”项中,应选择“使用此计算机上的驱动程序”。