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

sql语句 count结果总是为1,求助

sqlnum="select count(*) from Torder where FHstatus<>'3'"
set rsnum=server.CreateObject("adodb.recordset")
rsnum.open sqlnum,conn,1,1
wfhnum=rsnum.RecordCount
response.Write(rsnum.RecordCount)
rsnum.close
set rsnum=nothing

应该有三条记录,我把select count(*) from Torder where FHstatus<>'3' 直接在access里运行,得到的结果是3.
但是在ASP里直接输出,结果一直为1.

------解决方案--------------------
sqlnum="select count(*) from Torder where FHstatus<>'3'"这里面用了count本来就是只返回总数当然只有一条记录了 如果你想统计符合条件的总数可以 改成
sqlnum="select count(*) as zongshu from Torder where FHstatus<>'3'"
set rsnum=server.CreateObject("adodb.recordset")
rsnum.open sqlnum,conn,1,1
wfhnum=rsnum("zongshu")
response.Write(rsnum("zongshu"))
rsnum.close
set rsnum=nothing 
或者
sqlnum="select * from Torder where FHstatus<>'3'"
set rsnum=server.CreateObject("adodb.recordset")
rsnum.open sqlnum,conn,1,1
wfhnum=rsnum.RecordCount
response.Write(rsnum.RecordCount)
rsnum.close
set rsnum=nothing    
------解决方案--------------------
select * from Torder where FHstatus<>'3'

查询语句用这个试试,

4楼是猴子请来的么,rsnum(0) 按照楼主的是当前记录的第一个字段
recordcount 是Recordset对象记录的数目 就是查询返回总记录集