我的ASP经验之路(4)--连接access数据库的两种方法、读取数据库内容
    这篇主要介绍以下两个问题: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 ateobject("ADODB.CONNECTION") '创建数据库连接对象
conn.open connstr '连接数据库
%>
第二种:
<%
dim conn 
dim connstrasp数据
Connstr="Provider=;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文件代码里,首先要建立数据库连接,代码如上面介绍:
dim conn 
dim connstr
connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set ateobject("ADODB.CONNECTION") '创建数据库连接对象
conn.open connstr '连接数据库
创建记录集:
set rs=server.CreateObject("dset") '创建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 f
  '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 ateobject("ADODB.CONNECTION") '创建数据库连接对象
conn.open connstr '连接数据库
set rs=server.CreateObject("dset") '创建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 f
  '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>
本文原创:义乌做网站