太郁闷了,难道这样recordcount属性也返回-1吗 ( 积分: 100 )

  • 主题发起人 主题发起人 Foonarri
  • 开始时间 开始时间
F

Foonarri

Unregistered / Unconfirmed
GUEST, unregistred user!
<!--#include file=&quot;conn.asp&quot;-->
<%
set rs=server.CreateObject(&quot;adodb.recordset&quot;)
rs.open &quot;select * from 低值品领用&quot;,conn,1,3
response.write &quot;记录条数:&quot;
response.write rs.recordcount
%>
但是将“低值品领用”表换成其他的表,如“低值品卡片”等
recordcount属性能返回正确的值
这是为啥
后台数据库是sql server2000
 
<!--#include file=&quot;conn.asp&quot;-->
<%
set rs=server.CreateObject(&quot;adodb.recordset&quot;)
rs.open &quot;select * from 低值品领用&quot;,conn,1,3
response.write &quot;记录条数:&quot;
response.write rs.recordcount
%>
但是将“低值品领用”表换成其他的表,如“低值品卡片”等
recordcount属性能返回正确的值
这是为啥
后台数据库是sql server2000
 
查找表结构的不同,看看是什么
 
不懂asp,但是建议你用事件检测器捕获这个SQL,然后放到其他地方,看看是否能够正确返回你需要的值。
 
sql语句已经在sql server 查询分析器里测试过了
我怀疑sql server有关系
因为我其他的表可以
刚才又试了一下,我新建一个表也不行
但是,我以前建的几个表都可以
实在晕倒
 
这个问题在DELPHI的BDE里面出现过
ado里还没有遇到过 不过既然你遇到了
我告诉你解决办法
第一个办法是 slect count(*) as number from table1
这样取出的RECORDCOUNT 就是正确的
第二个办法是
<!--#include file=&quot;conn.asp&quot;-->
<%
set rs=server.CreateObject(&quot;adodb.recordset&quot;)
rs.open &quot;select * from 低值品领用&quot;,conn,1,3
rs.movelast
rs.movefirst
response.write &quot;记录条数:&quot;
response.write rs.recordcount
%>
 
感谢高手lizhijie_97,用第二种方法问题解决了
这样的方法解决问题的确是个经验问题啊
 
后退
顶部