日期:2014-05-16  浏览次数:20672 次

为什么rs.move 1,5会出错 - Web 开发 / Ajax
我发现使用rs.move方法时,如果后面的数大于前面的数就会出错,这是为什么呢,rs.move 1,5就是在第5条记录的位置向下移动一条吧,应该指向第6条记录,这应该没问题啊,我数据表中记录数远大于6呢。

<% '-----------------------连接数据库---------------------------------
 Dim conn
Set conn=Server.CreateObject("ADODB.Connection") 
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("lyb.mdb") 
'conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("lyb.mdb") 
'-----------------------创建记录集---------------------------------
'Set rs=conn.Execute("Select * From lyb Order By ID DESC")
set rs=Server.CreateObject("ADODB.Recordset") 
rs.open "Select * From lyb Order By ID DESC",conn,1
%>
<!-----------------------在页面上输出数据库中的记录-------------------->

  <% 
  rs.move 1,5
  do while not rs.eof 

  %>
  <tr>
  <td ><%= rs.fields.item("title").value %></td>
  <td><%= rs("content") %></td>
  <td><%= rs("author") %></td>
  <td><%= rs("email") %></td>
  <td><%= rs("ip") %> </td>
  </tr>
  <%
  rs.movenext

loop %>
</table>
错误提示:
ADODB.Recordset 错误 '800a0bb9' 
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。


------解决方案--------------------
探讨
我发现使用rs.move方法时,如果后面的数大于前面的数就会出错,这是为什么呢,rs.move 1,5就是在第5条记录的位置向下移动一条吧,应该指向第6条记录,这应该没问题啊,我数据表中记录数远大于6呢。

<% '-----------------------连接数据库---------------------------------
Dim conn
Set conn=Server.……