为何记录数为负 (50分)

  • 主题发起人 主题发起人 Begin_End
  • 开始时间 开始时间
B

Begin_End

Unregistered / Unconfirmed
GUEST, unregistred user!
本人在写Asp程序时
set rs=oConn.execute(sqlstrtemp)
Record_count=rs.recordcount
记录有显示,但Record_count=-1不知何故,请问大侠了
 
记录数是DOS时代的产物,SQL不支持,所以为-1。
 
如要分页显示,不知记录数如何分页?
 
这个直接用rs.recordcount是不行的
 
yongwang518:
请问如何使用,谢谢!
 
rs.movelase;
 
下面是我做的网页的原码:


<!--#include file="connect/connect.asp"-->
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<link rel="stylesheet" href="font.css" type="text/css">
<title>New Page 1</title>
</head>
<%

absPageNum = cint(Request("pgnum"))
RecordPerPage = 30 '每页显示的记录数
if absPageNum=0 then

absPagenum=1
end if
wkrs.CursorLocation = 3 'adUseClient
%>
<%
wjsele="select f_suppcode,f_suppname,f_onecode from t_entcodename order by f_onecode,f_suppcode"
wkrs.open wjsele,wkcn,3,3

wkrs.PageSize = RecordPerPage
if absPageNum>wkrs.PageCount then
absPageNum=wkrs.PageCount
end if
If Not(wkrs.EOF) then
wkrs.AbsolutePage = absPageNum
End If
TotalPages = wkrs.PageCount
%>
<body bgcolor="#CCFFFF">
<div align="center">
<center>
<table border="1" width="80%" bordercolor="#0000FF">
<tr>
<td width="10%" align="center">企业代号</td>
<td width="60%" align="center">企业名称</td>
<td width="20%" align="center">一级代号</td>
<td width="30%" align="center">修改</td>
</tr>
<%
For absRecordNum = 1 to wkrs.PageSize
if wkrs.eof then
exit for %>
<% 'while not wkrs.eof %>
<tr>
<td width="10%" align="center" bgcolor="#CCFFFF" onmouseover="javascript:this.bgColor='#CCFF99';this.style.cursor='default';" onmouseout="javascript:this.bgColor='#CCFFFF';" valign="center" align="left"><a href="gsxh.asp?code=<%=trim(wkrs("f_suppcode"))%>&amp;suppname=<%=wkrs("f_suppname")%>"> <%=wkrs("f_suppcode")%></td>
<td width="60%" align="center"> <%=wkrs("f_suppname")%></td>
<td width="20%" align="center"> <%=wkrs("f_onecode")%></td>
<td width="30%" align="center" bgcolor="#CCFFFF" onmouseover="javascript:this.bgColor='#CCFF99';this.style.cursor='default';" onmouseout="javascript:this.bgColor='#CCFFFF';" valign="center" align="left"><a href='modifyent.asp?code=<%=trim(wkrs("f_suppcode"))%>'> <%response.write "修改"%></a></td>
</tr>
<% wkrs.MoveNext

If wkrs.EOF then

Exit For ' 如果已到记录尾, 退出 - 如最后一页数据不满页时
End If
Next
'wend%>
</table>
<table>
<% If TotalPages <= 1 then
%>

<td align=center >上一页 </td>
<td align=center>下一页</td>


<% else
if absPageNum = 1 and TotalPages > 1 then
%>
<td align=center >上一页 </td>
<td align=center><a href="liulanqiye.asp?pgnum=<%=absPageNum+1%>">下一页</a> </td>
<% else
if absPageNum = TotalPages then
%>
<td align=center ><a href="liulanqiye.asp?pgnum=<%=absPageNum-1%>">上一页 </a> </td>
<td align=center>下一页 </td>
<% else
%>
<td align=center><a href="liulanqiye.asp?pgnum=<%=absPageNum-1%>">上一页 </a> </td>
<td align=center><a href="liulanqiye.asp?pgnum=<%=absPageNum+1%>">下一页</a> </td>
<%end if%>
<td align=center>当前第 <%=absPageNum%> 页</td>
<td align=center>共 <%=TotalPages %> 页</td>
</center>
<p align="center"><a href="entinfo.asp">添加</a>

</body>
<%set wkcn=nothing%>







 
非常感谢切磋
wjsele="select f_suppcode,f_suppname,f_onecode from t_entcodename
order by f_onecode,f_suppcode"
sqlstr="select a.MaterialId as MaterialId,a.MaterialName as MaterialName,
a.Unit as Unit ,a.Material as Material,b.ProviderName as ProviderName
from MaterialPrice a,ProviderTable b"
你的网页并非两数据表的关联,这个我没问题的
如用两表的关联,
rs.AbsolutePage
rs.recordcount
均不能用的,自动定位绝对页不管用的
记录数的问题已解决
select count(*) as Varcount from Table1 a,Table2 b where a.Id=b.Id ===>Ok
接下来定位下一页又麻烦了

 
你是不是用ADO联接数据库?
在ADO联接数据库时,当使用正向或动态临时表时,ADO Recordset不能提供RecordCount的确切值,有时会返回-1!
而静态和键集临时表则可提供该值!
具体是修改ADO的CursorType属性!
 
自慰
(感谢同仁的参与)
1. rs.open sqlstrtemp,oconn,3,1====>出错
2. set rs=excusql(sqlstrtemp) ====> 不能解决分页定位

3. rs.open sqlstrtemp,oconn,3,3====>OK

 
我那个上面不是有分页吗,传递一个pgenum即可
 

Similar threads

回复
0
查看
815
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部