前面讲到了ASP连接ACCESS的两种常用方法,本文介绍创建记录集与读取数据库表里的记录值。
演示地址:http://blog.ywask.com/democode/20081112 
源码下载:http://blog.ywask.com/democode/20081112.rar
1、建立一个数据库文件,名称估且命为data.mdb ,里面准备存放一些公司企业的电话地址等内容。数据库中建一个名为company的表,表设计以下四个字段:companyname,tel,address,website (公司名称,电话,地址,网址),字段类型全部选择“文本”,字段大小设置为250,创建好表后,打开表,自己输入随意输入几条记录值
(所有建立数据库的具体操作本文略过)
建好后,表设计如下图:

打开表,内容如下:
 

2、新建一个文件名为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 '打开记录集

读取数据库代码:
结合前面介绍过的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>
具体运行结果请看本文最前面写的演示地址。

(本文完)雨点写于2008/11/12日,转载请注明出处:http://blog.ywask.com