ASP连接数据库的5种方法
第一种 - 这种方法用在ACCESS中最多
strc _
& Server.MapPath("aspfree.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
第二种-这种方法用在SQL SERVER中多
strc _
&"UID=LoginID;Password=;DATABASE=Database_Name"
set conn = server.createobject("adodb.connection")
conn.open strconn
第三种
strc _
&"DBQ=F:\Inetpub\wwwroot\somedir\db1.mdb;DefaultDir=" _
&"f:\Inetpub\wwwroot\somedir;uid=LoginID;" _
&"pwd=Password;DriverId=25;FIL=MSAccess;"
set conn = server.createobject("adodb.connection")
conn.open strconn
第四种运用系统数据源
The following uses a Data Source Name: Example
set conn = server.createobject("adodb.connection")
conn.open "Example"
第五种运用ODBC数据源,前提是你必须在控制面板的ODBC中设置数据源
set rs = server.createobject("adodb.recordset")
rs.open "tblname", "DSNName", 3, 3 第一种 - 这种方法用在ACCESS中最多
strc _
& Server.MapPath("aspfree.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn
下面是讲解数据库连接的一个网站,相当好
connectiong :http://tempuri.org/tempuri.html
ASP连接数据库的全能代码
'解决了ACCESS数据库路径的问题!
'采用DBType=0或DBType=1来区分AC库还是MSSQL库
'具体采用AC库时应注意的事项,请看程序说明
-----------------------------------------------
Dim DBType,Conn,StrConn
DBType=0 '0为Access数据库,1为MSSQL数据库
If(DBType=0) Then
'****************ACCESS数据库******************
Dim DbFolderName,DbFolder_Path,SiteFolder
DbFolderName="ArticleData" '数据库所在文件夹名称
DbFolder_Path = Server.MapPath(DbFolderName) '数据库所在路径
SiteFolder="Article" '系统所在根目录名称
If Session("RootDir") = "" Then
Session("RootDir") = Mid(DbFolder_Path, 1, InStr(1,DbFolder_Path,SiteFolder,1) -1) & SiteFolder
End if
Set Conn = Server.CreateObject("Adodb.Connection")
StrC & Session("RootDir") & "\"& DbFolderName & "\Data.mdb" '连接到数据库
Conn.Open StrConn
'**************************************************
ElseIf(DBType=1) Then
'*****************MSSQL SERVER数据库******
Dim DBUserID,DBPassWord,DBName,DBIP
'修改以下信息以适合你的网站
DBUserID="sa" '数据库登陆名
DBPassWord="" '数据库密码
DBName="dbname" '数据库名称
DBIP="local" '数据库所在地址,如果是本地数据库则为:(local)
Set Conn=Server.CreateObject("Adodb.Connection")
StrC&DBIP&";Initial Catalog="&DBName&";Persist Security Info=True;User ID="&DBUserID&";Password="&DBPassWord&";Connect Timeout=30"
Conn.Open StrConn
'******************************************************
Else
'***********************数据库设置错误*****************
Response.Write"数据库设置错误,请联系管理员!"
Response.End
End If
'Response.Write StrConn
'解决了ACCESS数据库路径的问题!
'采用DBType=0或DBType=1来区分AC库还是MSSQL库
'具体采用AC库时应注意的事项,请看程序说明
-----------------------------------------------
Dim DBType,Conn,StrConn
DBType=0 '0为Access数据库,1为MSSQL数据库
If(DBType=0) Then
'****************ACCESS数据库******************
Dim DbFolderName,DbFolder_Path,SiteFolder
DbFolderName="ArticleData" '数据库所在文件夹名称
DbFolder_Path = Server.MapPath(DbFolderName) '数据库所在路径
SiteFolder="Article" '系统所在根目录名称
If Session("RootDir") = "" Then
Session("RootDir") = Mid(DbFolder_Path, 1, InStr(1,DbFolder_Path,SiteFolder,1) -1) & SiteFolder
End if
Set Conn = Server.CreateObject("Adodb.Connection")
StrC & Session("RootDir") & "\"& DbFolderName & "\Data.mdb" '连接到数据库
Conn.Open StrConn
'**************************************************
ElseIf(DBType=1) Then
'*****************MSSQL SERVER数据库******
Dim DBUserID,DBPassWord,DBName,DBIP
'修改以下信息以适合你的网站
DBUserID="sa" '数据库登陆名
DBPassWord="" '数据库密码
DBName="dbname" '数据库名称
DBIP="local" '数据库所在地址,如果是本地数据库则为:(local)
Set Conn=Server.CreateObject("Adodb.Connection")
StrC&DBIP&";Initial Catalog="&DBName&";Persist Security Info=True;User ID="&DBUserID&";Password="&DBPassWord&";Connect Timeout=30"
Conn.Open StrConn
'******************************************************
Else
'***********************数据库设置错误*****************
Response.Write"数据库设置错误,请联系管理员!"
Response.End
End If
'Response.Write StrConn
转载于:https://www.cnblogs.com/zhangchenliang/archive/2007/03/15/676397.html
asp 连接access数据库的完整代码
假设access文件名:mybook.mdb,放在data目录下,里面有个book的表,含有id,name字段
用asp读取所有name内容,并按id顺序降序排列,代码如下:
<%
dim conn,connstr,rs,sql
db="data/mybook.mdb" '数据库名称,建议修改成.asp后缀
set conn=server.createobject("adodb.connection")
c&Server.MapPath(db)
conn.open connstr
set rs=server.CreateObject("adodb.recordset")
sql="select * from book order by id desc"
rs.Open sql,conn,1,1
while not rs.eof
response.write rs("name")
rs.movenext
wend
rs.close
%>
ASP对Access数据库的连接、增删改查及ASP的基本语法
<html>
<head>
<meta http-equiv="Content-Type" c />
<title>数据库的连接、增删改查</title>
</head>
<body>
<%
db="Database.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=admin;dbq=" & Server.MapPath(db)
response.write "数据库连接成功!"
Set rs = Server.CreateObject( "ADODB.Recordset" )
sql = "select * from test;"
rs.open sql,conn,1,3
%>
<br/>
表test的内容:
<table border="1">
<tr>
<td>id</td>
<td>username</td>
<td>password</td>
</tr>
<%
if (rs.bof and rs.eof) then
response.write "nodata!"
else
do while not rs.eof
%>
<tr>
<td><%=rs("id")%></td>
<td><%=rs("username")%></td>
<td><%=rs("password")%></td>
</tr>
<%
rs.movenext
loop
end if
%>
</table>
<%
'conn.execute "update test set username='2' where username='a';"
conn.execute "insert into test(username,password) values ('3','a');"
%>
---------插入数据之后--------<br/>
表test的内容:<br/>
<%
Set rs = Server.CreateObject( "ADODB.Recordset" )
sql = "select * from test;"
rs.open sql,conn,1,3
%>
<table border="1">
<tr>
<td>id</td>
<td>username</td>
<td>password</td>
</tr>
<%
if (rs.bof and rs.eof) then
response.write "nodata!"
else
do while not rs.eof
%>
<tr>
<td><%=rs("id")%></td>
<td><%=rs("username")%></td>
<td><%=rs("password")%></td>
</tr>
<%
rs.movenext
loop
end if
%>
</table>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</body>
</html>
这段代码是用记事本敲出来的,没有用任何开发工具,所有缺乏缩进等基本代码格式见谅,ASP实在缺乏代码开发工具。
ASPEDIT都是一些1997年就出版的东西了。
1、<head>部分
[html] view plain copy
print?
<head>
<!--必须声明使用utf-8编码,否则在IE8中页面显示会乱码-->
<meta http-equiv="Content-Type" c />
<title>数据库的连接、增删改查</title>
</head>
以下就是<body>部分了
2、连接数据库部分
[html] view plain copy
print?
<%
'asp同使用'去注释,不允许使用;来结束语句,每一个enter键就是代表一条语句结束
'Access数据库文件是database.mdb
db="Database.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
'指定动作,pwd后的值代表此数据库的密码
conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=admin;dbq=" & Server.MapPath(db)
'在网页上输出东西,可以用response对象
response.write "数据库连接成功!"
%>
3、查询部分
[html] view plain copy
print?
<%
'指定动作
Set rs = Server.CreateObject( "ADODB.Recordset" )
'查询语句
sql = "select * from test;"
'使用sql对conn进行查询,后面的参数代表我要完全操作这个数据库
rs.open sql,conn,1,3
%>
<!--此乃表头,asp代码可以与html代码混合,table默认是没有边框的,所以要设置一个border参数-->
<br/>
表test的内容:
<table border="1">
<tr>
<td>id</td>
<td>username</td>
<td>password</td>
</tr>
<%
'如果没有查到任何东西这样写,ASP没有括号,条件体必须用end if结束,then相当于左括号,end if相当于右括号
if (rs.bof and rs.eof) then
response.write "nodata!"
else
'否则就循环,直到读完这条游标,循环条件是not rs.eof,ASP没有括号,do while循环体必须用loop结束,do while后自带左括号,loop相当于右括号
'下面的html循环一次就向网页写入一次
do while not rs.eof
%>
<tr>
<td><%=rs("id")%></td>
<td><%=rs("username")%></td>
<td><%=rs("password")%></td>
</tr>
<%
'读完一项,游标向下拉
rs.movenext
loop
end if
%>
</table>
4、增加、删除、修改操作部分
这里没有写出删除操作,修改操作则被注释掉了,但他们的用法与增加操作完全一样,
[html] view plain copy
print?
<%
'与查询操作不同的是,插入操作很简短。
'修改操作可以用下面的语句,把test表的username字段(列)中为a的项都改为2
'conn.execute "update test set username='2' where username='a';"
conn.execute "insert into test(username,password) values ('3','a');"
%>
插入之后再次查询的道理与上面的未插入之前是一样道理的,就不再进行说明了。
————————————————
版权声明:本文为CSDN博主「form88」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/form88/article/details/66476242