一战前沙俄行政地图:asp查询access只查询第一个数据

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 03:55:09
我的网站使用的是access数据库,我在查询数据时发现我查询出来的都是第一个数据为什么,在前一个页面显示的是http://192.168.0.19/rent/show.asp?id=27
但是查询出来的永远是id=1的数据,代码在下面,请我找下原因

<% Response.Buffer=True %>
<!--#include file="advoces.asp"-->
<%
set rs=server.createobject("adodb.recordset")
sql="select * from bazhu" where [id]
rs.open sql,conn,1,1 %>
<% if rs.eof or rs.bof then
end if %>

<table border=0 cellpadding=0 cellspacing=2 width="100%">
<tr bgcolor="#FEF1E0">
<td vlign=top class="itm" colspan="2"><b>租房-物业性质</b></td>
</tr>
<tr>
<td align=right vlign=top width="20%" class="itm" bgcolor="#FFFDFB"><b>编号</b></td>
<td align=left valign=top class="itm" width="80%" bgcolor="#FFFDFB"><%=rs("id")%></td>
</tr>
<tr>
<td align=right vlign=top width="20%" class="itm" bgcolor="#FFFDFB"><b>发布类型-</b></td>
<td align=left valign=top class="itm" width="80%" bgcolor="#FFFDFB"><%=rs("xz")%></td>
</tr>
<tr>
<td align=right vlign=top width="20%" class="itm" bgcolor="#FFFDFB"><b>物业类型-</b></td>
<td align=left valign=top class="itm" width="80%" bgcolor="#FFFDFB"><%=rs("house_type")%><%=rs("house_type_other")%></td>
</tr>

我建议改成
id=request("id")
sql="select * from bazhu where id="&id

改下查询语句:
sql="select * from bazhu where [id]=" & clong(Request.QueryString("id"))

废话,当然永远是1,计算机怎么知道你要的是第几行数据?

所以你每次刚刚OPEN表的时候,用来确定行数的光标都是指向第一行的位置。

需要你自己用rs.MoveNext去移动光标才能显示下一条数据啊!

移动的时候一定要判断是不是已经到了最后一条数据,因为到了最后一条数据之后再移动就出错了。

所以要这样:

if rs.eof=false then
rs.MoveNext
end if

附:rs.MoveNext 向下移动一条数据
rs.MovePrevious 向上移动一条数据
rs.MoveFirst 移动到第一条数据
rs.MoveLast 移动到最后一条数据

rs.eof = true 光标已经到了最后一条数据的后面了
rs.bof = true 光标已经到了第一条数据的前面了

所以刚一打开表就出现 if rs.bof=true then 这个条件也能说明这个表是不是空的表。