怎么用ASP读取ACCESS数据库某一个表内数据。

下面的代码即是我通过ASP调用表“ad”内的“ad1.........ad5url"的内容,但是却调不出来。另外,数据库的调用是正常的。
<%
exec="select * from ad"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>

<div id="focus">
<ul>

<li><a href="<%=rs("ad1url")%>" target="_blank"><img src="<%=rs("ad1")%>" /></a></li>
<li><a href="<%=rs("ad2url")%>" target="_blank"><img src="<%=rs("ad2")%>"/></a></li>
<li><a href="<%=rs("ad3url")%>" target="_blank"><img src="<%=rs("ad3")%>" /></a></li>
<li><a href="<%=rs("ad4url")%>" target="_blank"><img src="<%=rs("ad4")%>" /></a></li>
<li><a href="<%=rs("ad5url")%>" target="_blank"><img src="<%=rs("ad5")%>" /></a></li>

</ul>
</div>

有两个错误所在的:
1.你没有对记录集进行判断,看是否有记录(记录集判断是绝对不能少的)
2.你没有写While 或者For循环,这样就算有记录集,也只能读取到最后个条
正确代码如下:
<%
exec="select * from ad"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
if not rs.eof then
do while not rs.eof
%>

<div id="focus">
<ul>

<li><a href="<%=rs("ad1url")%>" target="_blank"><img src="<%=rs("ad1")%>" /></a></li>
<li><a href="<%=rs("ad2url")%>" target="_blank"><img src="<%=rs("ad2")%>"/></a></li>
<li><a href="<%=rs("ad3url")%>" target="_blank"><img src="<%=rs("ad3")%>" /></a></li>
<li><a href="<%=rs("ad4url")%>" target="_blank"><img src="<%=rs("ad4")%>" /></a></li>
<li><a href="<%=rs("ad5url")%>" target="_blank"><img src="<%=rs("ad5")%>" /></a></li>

</ul>
</div>
<%
rs.movenext
loop
end if
rs.close
set rs=nothing
%>追问

问题解决了,最终发现是数据库出了问题和代码没有啥关系,郁闷死。谢谢。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-17
<%
set rs=server.createobject("adodb.recordset")
exec="select * from ad" ' 习惯放这边
rs.open exec,conn,1,1
while not rs.eof
%>

<div id="focus">
<ul>

<li><a href="<%=rs("ad1url")%>" target="_blank"><img src="<%=rs("ad1")%>" /></a></li>
<li><a href="<%=rs("ad2url")%>" target="_blank"><img src="<%=rs("ad2")%>"/></a></li>
<li><a href="<%=rs("ad3url")%>" target="_blank"><img src="<%=rs("ad3")%>" /></a></li>
<li><a href="<%=rs("ad4url")%>" target="_blank"><img src="<%=rs("ad4")%>" /></a></li>
<li><a href="<%=rs("ad5url")%>" target="_blank"><img src="<%=rs("ad5")%>" /></a></li>

</ul>
</div>
<%
rs.movenext
wend
rs.close
set rs=nothing
%>
第2个回答  2012-02-16
1、在调用的时候要注意调用的顺序,比如说*的内容是ad1,ad2,……ad1url,ad2url……在调用的时候最好是按照这个顺序调用;
2、把select * from ad 中的" * "替换成你下边所用到的字段,按照调用的顺序

试试!追问

问题依旧。

追答

我试过了,不谢判断和循环可以出来东西。
不知道楼主是什么原因了。
……

第3个回答  2012-02-17
必须要有个循环啊
if not rs.eof then
do while not rs.eof

用ASP如何读取ACCESS数据库中的某个字段?[要代码哦]
首先连接数据库,然后:< Set Rs = Server.CreateObject("ADODB.RecordSet") '创建一个对象 SQL = "Select 作者字段名 From [表1]" '查询表1中的作者字段 Rs.Open SQL,Conn,1,1 '执行查询 Do While Not Rs.Eof '开始循环显示 Response.Write Rs("作者字段名") '显示查询出的字段名...

如何用ASP查询ACESS数据库?
使用ASP连接并查询ACCESS数据库,首先需要设置数据库路径。代码示例:db="ACCESS数据库文件名.mdb"Set conn = Server.CreateObject("ADODB.Connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")conn.Open 通过连接字符串设置数据库连接。接着编写SQL查询...

asp 读取 access数据库某一表中最有一条记录的方法是什么?请指教_百度...
加个排序吧。一般来说,直接Select不指定排序的话,会默认排序的,比如按ID从小到大,或者按时间从早到迟。如果你Table里有ID,要查询最后一条记录就用:Select Top 1 From Table Order By Id Desc 或者其他的可以用于排序的字段都行,只要指定是顺序(Asc)或者倒序(Desc),Select的是Top 1 ,就可...

怎么在ASP代码里面实现,获取ACCESS数据库一个表的最后一条记录的数据...
方法一:rs.open sql,conn,1,1 rs.moveLast response.write(rs("字段名"))rs.close set rs=nothing 解释:rs.moveLast的作用是让指针直接移到最后一条记录 方法二:rs.open sql,conn,1,1 while not rs.EOF rs.MoveNext Wend response.write(rs("字段名"))rs.close set rs=nothing 解释:rs...

ASP里从数据库里的某1条记录开始读起?ACCESS数据库
楼上的 如果ID不是连续的呢 记录被删除过呢 id是5的可能是第2条哦 用这个吧:select * from [表] where id not in (select top N-1 id from [表] order by id)N是从第几条开始查 即查询所有不在开始第N-1条数据里的数据 order by 可以控制排序规则 ...

asp+access 怎样才能随机抽数据库中的记录?
简单高效:不重复随机读取数据库记录 Set rs = Server.CreateObject("Adodb.RecordSet")rs.open sql,conn,1,1 DIM Appeared Call DisRndRecord(10,rs.recordCount)'调用函数该位置显示记录 '###SUBS '#DisRndRecord(DisNum,rsBound)'#参数DisNum:显示数量 '#参数rsBound:随机数产生范围 Sub DisR...

ASP如何调用ACCESS中一个表两个不同的字段。这两个字段分别代表的不同...
set myrs=server.CreateObject("adodb.recordset")sqlstr="select * from news"myrs.Open sqlstr,conn,1,1 myrs("username")myrs("title")username,title 就是你想调用的字段名

关于asp与access的,怎么输出access数据库某一行的数据?
< set rs=server.createobject("adodb.recordset")sql="select * from 表名 where id=行ID号"rs.open sql,conn,1,1 if not rs.eof then response.write rs("字段名")else response.write "暂无内容"end if rs.close:set rs=nothing > ...

asp.net如何连接accessASP.NET连接数据库
在ASP.NET有两种方法连接ACCESS数据库。具体操作如下:第一种方法是真的拉一个控件,比如GridView和DataList,在设计页面上,点击右上角的三角形新建一个数据源,在弹出的对话框中选择数据库,新建一个连接,在添加连接对话框的更改中选择Access数据库,然后在浏览中选择你的数据库。如果测试成功,下一步...

如何用ASP查寻ACCESS数据库(急急急急急)
<1>.数据库连接(用来单独编制连接文件conn.asp)< Set conn = Server.CreateObject("ADODB.Connection")conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\\bbs\\db1\\user.mdb")> (用来连接bbs\\db1\\目录下的user.mdb数据库)<2>显示数据库记录 原理:将数据库中...

相似回答