这篇主要介绍以下两个问题:asp连接access数据库常用的两种方法、asp创建记录集与如何读取数据库的内容。
ASP最常连接的是ACCESS与MSSQL两种数据库,本文先介绍简单的连接ACCESS数据库的两种常用方法。
假设数据库名称为data.mdb,位于根目录下,与conn.asp文件同一目录。
连接数据库文件conn.asp写法如下:
第一种:
<%
dim conn
dim connstr
connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION") '创建数据库连接对象
conn.open connstr '连接数据库
%>
第二种:
<%
dim conn
dim connstr
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open Connstr
%>
<%
dim conn
dim connstr
connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION") '创建数据库连接对象
conn.open connstr '连接数据库
%>
第二种:
<%
dim conn
dim connstr
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open Connstr
%>
接下来,我们看下asp是如何创建记录集以及如何来读取数据库里的内容的。
首先,我们要建一个数据库,里面放些需要读取的内容。
1、 建立一个数据库文件,名称估且命为data.mdb ,里面准备存放一些公司企业的电话地址等内容。数据库中建一个名为company的表,表设计以下四个字段:companyname,tel,address,website (公司名称,电话,地址,网址),字段类型全部选择“文本”,字段大小设置为250,创建好表后,打开表,自己输入随意输入几条记录值
(所有建立数据库的具体操作本文略过)
(所有建立数据库的具体操作本文略过)
建好后,表设计如下图:

打开表,内容如下:

2、新建一个文件名为index.asp
index.asp文件代码里,首先要建立数据库连接,代码如上面介绍:
index.asp文件代码里,首先要建立数据库连接,代码如上面介绍:
dim conn
dim connstr
connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION") '创建数据库连接对象
conn.open connstr '连接数据库
创建记录集:
set rs=server.CreateObject("adodb.recordset") '创建rs记录集
sql="select * from [company]" '读取数据库的SQL语句串
rs.open sql,conn,1,1 '打开记录集
dim connstr
connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION") '创建数据库连接对象
conn.open connstr '连接数据库
创建记录集:
set rs=server.CreateObject("adodb.recordset") '创建rs记录集
sql="select * from [company]" '读取数据库的SQL语句串
rs.open sql,conn,1,1 '打开记录集
读取数据库代码:
结合前面介绍过的do while ...loop语句来循环读取多条记录内容
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%do while not rs.eof
'rs.eof意思是最后一条记录,rs.bof的意思是第一条记录,所以这句话的意思是:当不是最后一条记录时,输出下面的代码%>
<tr>
<td height="24"><%=rs("companyname")%></td>
<td><%=rs("tel")%></td>
<td><%=rs("address")%></td>
<td><a href="<%=rs("website")%>" target="_blank"><%=rs("website")%></a></td>
</tr>
<%rs.movenext '移到下一条记录
loop%>
</table>
结合前面介绍过的do while ...loop语句来循环读取多条记录内容
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%do while not rs.eof
'rs.eof意思是最后一条记录,rs.bof的意思是第一条记录,所以这句话的意思是:当不是最后一条记录时,输出下面的代码%>
<tr>
<td height="24"><%=rs("companyname")%></td>
<td><%=rs("tel")%></td>
<td><%=rs("address")%></td>
<td><a href="<%=rs("website")%>" target="_blank"><%=rs("website")%></a></td>
</tr>
<%rs.movenext '移到下一条记录
loop%>
</table>
所有代码放在一起就是index.asp的所有代码。如下:
<%
dim conn
dim connstr
connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION") '创建数据库连接对象
conn.open connstr '连接数据库
set rs=server.CreateObject("adodb.recordset") '创建rs记录集
sql="select * from [company]" '读取数据库的SQL语句串
rs.open sql,conn,1,1 '打开记录集
%>
<html>
<head>
<title>连接数据库与读取数据库内容</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%do while not rs.eof
'rs.eof意思是最后一条记录,rs.bof的意思是第一条记录,所以这句话的意思是:当不是最后一条记录时,输出下面的代码%>
<tr>
<td height="24"><%=rs("companyname")%></td>
<td><%=rs("tel")%></td>
<td><%=rs("address")%></td>
<td><a href="<%=rs("website")%>" target="_blank"><%=rs("website")%></a></td>
</tr>
<%rs.movenext '移到下一条记录
loop%>
</table>
</body>
</html>
具体运行结果请看演示地址:
dim conn
dim connstr
connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION") '创建数据库连接对象
conn.open connstr '连接数据库
set rs=server.CreateObject("adodb.recordset") '创建rs记录集
sql="select * from [company]" '读取数据库的SQL语句串
rs.open sql,conn,1,1 '打开记录集
%>
<html>
<head>
<title>连接数据库与读取数据库内容</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<%do while not rs.eof
'rs.eof意思是最后一条记录,rs.bof的意思是第一条记录,所以这句话的意思是:当不是最后一条记录时,输出下面的代码%>
<tr>
<td height="24"><%=rs("companyname")%></td>
<td><%=rs("tel")%></td>
<td><%=rs("address")%></td>
<td><a href="<%=rs("website")%>" target="_blank"><%=rs("website")%></a></td>
</tr>
<%rs.movenext '移到下一条记录
loop%>
</table>
</body>
</html>
具体运行结果请看演示地址:
本文原创:义乌做网站 http://www.15ask.com
- 评论:(0)
发表评论 点击这里获取该日志的TrackBack引用地址