㈠ 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:.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>
缺陷:仅仅实现了最基本的功能。先不说其它功能,仅就数据的添加和查看功能来看,比较完美的还应该加入“分页功能”。否则数据大到一定程度显示全部数据基本上是不可能的。
本期至此全部完毕。
㈡ ASp连接数据库
用的最多的就是ACCESS和SQL Server数据库,连接语句如下:
1. ASP连接闷敏升Access数据库语句
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("www/bbs.mdb")+"拿念;DefaultDir=;DRIVER={Microsoft
AccessDriver(*.mdb)};"
Conn.Open connstr
其中Set Conn=Server.CreateObject("ADODB.Connection")为建立一个访问数据的对象
server.mappath("www/bbs.mdb")是告诉服务器access 数据库访问的路径
2. ASP连接Sqlserver数据库语句
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open"driver={SQLServer};server=202.108.32.94;uid=wu77445;pwd=p780522;database=w
ww_panwei_com"
conn open
其中/Set conn = Server.CreateObject("蚂老ADODB.Connection")为设置一个数据库的连接对象
driver=()告诉连接的设备名是SQL-SERVER
server是连接的服务器的ip地址,Uid是指用户的用户名,pwd是指的用户的password,
database是用户数据库在服务器端的数据库的名称
㈢ asp如何连接带密码的的access数据库
假设你庆桐乎誉悉的 mdb 数轮做据库的密码为:12345
将你的constr定义如下:
constr = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & Server.MapPath("#khKEY.asp")
& " ; User ID=admin; Password=; Jet OLEDB:Database Password=12345"
就可以连接你的 mdb 数据库了
㈣ 用ASP写的连接ACCESS数据库网站的源代码
给粗凯你提供一个我自己写的吧,三行,从做ASP那天起我就用这三行隐耐打遍天下了。希望对你有所参考,网上那些编的连接都是由网络公司出的,有他们的优点,但不够简洁,以下是代码和注释。
<%
Set conn=Server.CreateObject("ADODB.Connection") //创建数据库连接对象 conn
conn.provider="Microsoft.Jet.OLEDB.4.0" //指定数据库驱动类型
conn.Open Server.MapPath("cooshlion.mdb") //打开数据库,请注意与你的数据库位置对应,如果不在当前目录下,请用../相对路径方式
%>
试试吧,将这行代码保存成一个ASP文件,然后建立一个空数据库cooshlion.mdb,再执行一下这个文件,不报错,那就可以了,成功连上,至于关不关闭对象,说老实话,VBScript检测不是灶凳春那么严格的。
㈤ 如何用asp给access数据库插入数据
1、ASP连接ACCESS数据库复,连接字符制串是关键
2、连接后执行SQL语句
3、关闭数据库连接对象
示例代码:
dim Conn,strConn,strSQL
strConn = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("\db\myaccess.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
strSQL="insert into 表(列1,列2,列3) values ('value1','value2','value3')"
Conn.execute strSQL
Conn.close
Set Conn = Nothing
其中
【Provider=Microsoft.Jet.OLEDB.4.0;】:是声明使用的是MSSQL协议,
【Data Source=" & server.MapPath("\db\myaccess.mdb")】:是数据库的所在网站根目录相对路径的文件名
㈥ asp怎样连接带有密码的access数据库
Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=123456;Data Source=" & Server.MapPath("test.mdb")
或者
dim connnews
dim connstrnews
dim DBName
DBname="news.mdb"
connstrnews="DBQ="+server.mappath(dbName)+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set connnews=server.createobject("ADODB.CONNECTION")
connnews.open connstrnews, "uid='admin',pwd='12345'"
connnews.close
或者
dim str_conn,cn
Set cn = Server.CreateObject("ADODB.Connection")
str_conn="Provider=Microsoft.Jet.OLEDB.4.0;uid=admin;password=123456;Data Source= " & Server.mappath("../dfang/difang.mdb")
cn.Open str_conn
补充: 改这一句就可以了...
connstr="Provider=Microsoft.Jet.OLEDB.4.0;uid=admin;password=123456;Data Source=" & Server.MapPath(mdb)
㈦ 怎么asp同时连接access和 sql数据
用两个不同名的记录集分别打开不同的数据库连接,这样就可以相互操作或一起操作了
代码框架如下:
连接ACCESS
<% dim ztotal
set cn=server.CreateObject("adodb.connection")
cn.connectstring="provider=microsoft.jet.oledb.4.0;data source=" &_server.mappath(dh.mdb)"
cn.open
sql="select * from ddb where isprocessed='0' and username='" & session("username") &"'order by comit"
set rs=cn.execute(sql)
%>
连接MSSQL时,把这代码复制一遍更改一下变量和连接字符串即可.下面是代码示例.
<%
dim cn
set cn=server.createobject("adodb.connection")
cn.connectionstring="driver={SQL server};server=taihang;datebase=taihang;uid=sa;pwd=hacker"
cn.open
If cn.state=1 Then
response.write"数据库连接对象已打开"
Else
response.write"数据库连接对象未打开"
end If
cn.close
Set cn=nothing
%>
这亲再建一个记录集,把这个连接起来,就可以同时操作ACCESS跟MSSQL数据了.连接字符串若有问题请参考下面的方法.
ASP 连接ACCESS 与SQL SERVER方法
一、连接ACCESS数据库
1、在ASP语句中直接指定数据库驱动(oledb直接连接)
1) 用SET建立连接对象
set cnobj = Server.CreateObject("ADODB.Connection")
2)给出数据库驱动的生产厂商和版本号以及你的ACCESS数据库所在的位置
strcon="provider=microsoft.jet.oledb.4.0;data source="&Server.MapPath("/data/data.mdb")
记住:strcon是字符串变量你可以随便给,server.mappath是取数据库的磁盘路径,后面所跟的一定是站点路经。
本句也可友友谈以写成:
strconn = "告衡DRIVER=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath("/data/data.mdb")
3)用链接对象的OPEN方法打开数据库
cnobj.Open strcon
到此连接完成,后面就是建立记录集对象了,如:
set rstobj=server.createobject("adodb.recordset") '此句用SET语句建立记录集对象RSTOBJ
set rstobj=cnobj.execute("select * from users") '此句利用好碰cnobj对象的execute方法执行SELECT查询语句,users是库中的表名称
2、利用ODBC数据源(odbc数据源连接)
1) 首先你要在你的操作系统里建立ODBC数据源,ODBC数据源可分为“系统型”和“文件型”,他们的区别在于“系统型”是连接数据库的信息建立在“系统注册表”里,“文件型”则是以文件形式存储在ODBC源的目录下面,经我个人测试,两者均可在ASP中连通ACCESS数据库,具体建立ODBC数据源的方法,请大家参考有关书籍,这里不再累述
2) 如果你用的是“文件型”数据源,那么请用以下代码连接数据库
set cnobj = Server.CreateObject("ADODB.Connection")
cnobj.open "filedsn=data.dsn"
set rstobj=server.createobject("adodb.recordset")
set rstobj=cnobj.execute("select * from users")
其中filedsn是指定"文件型"数据源的命令,本例指定的是data.dsn数据源名,如果你连接的是SQL SERVER,那么还需要更改data.dsn这个文件
3) 如果你用的是“系统型”数据源,那么请用以下代码
set cnobj = Server.CreateObject("ADODB.Connection")
cnobj.open "data"
set rstobj=server.createobject("adodb.recordset")
set rstobj=cnobj.execute("select * from users")
其中data是系统型数据源的名称
二、连接SQL SERVER数据库
1) oledb直接连接
set cnobj = Server.CreateObject("ADODB.Connection")
strcon="PROVIDER=SQLOLEDB;DATA SOURCE=(主机名称或ip,如果是本地,可以不要);DATABASE=(数据库名,注不是保存的文件名,而是企业管理器中的数据库名称);UID=(登陆名);PWD=(登陆密码)"
如果使用windows 身份验证登陆,忽略登陆名和登陆密码,并添加“Integrated Security=SSPI”。
strcon="Provider=Sqloledb;Initial Catalog=(数据库名,注不是保存的文件名,而是企业管理器中的数据库名称);Data Source=(主机名称或ip,如果是本地,可以不要);Integrated Security=SSPI;"
'备注:如果使用MSSQL 2005 主机名称格式:(local)\SQLEXPRESS
cnobj.Open strcon
set rstobj=server.createobject("adodb.recordset")
set rstobj=cnobj.execute("select * from users")
2)“文件型”ODBC数据源连接1
set cnobj = Server.CreateObject("ADODB.Connection")
cnobj.open "filedsn=data.dsn;database=db1;uid=;pwd=;"
set rstobj=server.createobject("adodb.recordset")
set rstobj=cnobj.execute("select * from users")
3)“文件型”ODBC数据源连接2 (安全性最高)
和第二种方法连接几乎一样,只是将密码写在确确实实存在的ODBC文本文件中,一般存放在(盘符:\program files\common files\odbc\data sources)目录下,本例为data.dsn文件,用记事本打开它,在"UID=用户名"这一行下加上一行PWD="UID给出的用户密码",这是安全性最高的一种连接了,因为除了在WEB服务器上登录,没人可以读取到这个文件,也就不会知道SQL的用户名和密码,最后将SQL连接中的第三种方法第2行改为:cnobj.open "filedsn=data.dsn"
4)系统型连接
set cnobj = Server.CreateObject("ADODB.Connection")
cnobj.open "dsn=localserver;uid=sa;pwd=sa;"
set rstobj=server.createobject("adodb.recordset")
set rstobj=cnobj.execute("select * from users")
注:其实和“文件型”几乎一样,只有一句dsn=localserver不一样,在“文件型”中是filedsn=data.dsn,因为“系统型”ODBC是在系统注册表中进行连接,而“文件型”是确确实实存在的文本文件,本例中localserver是建立的系统ODBC数据源名称,data.dsn是文件型数据源的文本文件名.
EX:
set conn = server.CreateObject ("adodb.connection")
'connstr="Provider=SQLOLEDB.1;data source=localhost\HEISHUAI;Initial Catalog=LoginDB;user id=sa;password=1008"
'connstr="Provider=SQLOLEDB;data source=localhost\HEISHUAI;database=LoginDB;user id=sa;password=1008"
'connstr="Provider=SQLNCLI;data source=localhost\HEISHUAI;database=LoginDB;user id=sa;password=1008"
connstr="driver={SQL Server};database=LoginDB;Server=localhost\HEISHUAI;uid=sa;pwd=1008"
conn.open connstr
㈧ 请教ASP如何连接Access2010的accdb数据库,万分
provider=Microsoft.Ace.Oledb.12.0;Data Source=Access文件路径
㈨ asp连接access数据库代码
<%
Set conn=Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("a.mdb")
conn.Open connstr
%>
____________________________________
a.mdb就是你抄的数据库文件,袭如果数据库文件放在文件夹里还要在加上路径。