标题:select count(*)语句在asp中如何使用
只看楼主
jingjing316
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:293
专家分:541
注 册:2009-8-11
结帖率:92.31%
已结贴  问题点数:20 回复次数:13 
select count(*)语句在asp中如何使用
有一表tbscore,里面有一个字段isexam,想得到isexam=1的记录的总数,
sql2="select count(*) as num1 from tbscore where where tbscore.kcid="&kcid&" and tbscore.paperno="&paperno&" and isexam=1 "
set rs2=server.createobject("adodb.recordset")
rs2.open sql2,conn,3,2
 do while not rs2.eof
rs2.movenext
loop
response.write rs2("num1" )
可是无法执行,报错如下:错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'where tbscore.kcid=2 and tbscore.paperno=63 and isexam=1' 中。


就是isexam来确定是否参加了考试,0为未参加,1为参加,看看有多少人没有考试。


[ 本帖最后由 jingjing316 于 2010-1-19 11:39 编辑 ]
搜索更多相关主题的帖子: asp 语句 select count 
2010-01-19 11:31
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
得分:0 
rs2.open sql2,conn,3,2
do while not rs2.eof
rs2.movenext
loop
????????
2010-01-19 11:45
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
得分:5 
conn.execute("select count(*) as num1 from tbscore where where tbscore.kcid="&kcid&" and tbscore.paperno="&paperno&" and isexam=1")(0)
2010-01-19 11:46
jingjing316
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:293
专家分:541
注 册:2009-8-11
得分:0 
以下是引用aspic在2010-1-19 11:46:39的发言:

conn.execute("select count(*) as num1 from tbscore where where tbscore.kcid="&kcid&" and tbscore.paperno="&paperno&" and isexam=1")(0)
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'where tbscore.kcid=2 and tbscore.paperno=63 and isexam=1' 中。
/ww/exam/adminkcname.asp, 第 82 行
使用上面一句的报错信息。
2010-01-19 11:52
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
得分:0 
明明写了两个where
2010-01-19 11:58
dissun
Rank: 2
等 级:论坛游民
帖 子:59
专家分:61
注 册:2009-9-8
得分:0 
我终于发现一个问题,就是自己检查自己的代码时,看见的不是显示屏上打出来的代码,而是我们自己大脑中浮现的代码。。。
怪不得自己的代码需要别人来检查,哈哈
2010-01-19 14:14
jingjing316
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:293
专家分:541
注 册:2009-8-11
得分:0 
谢谢!select count(*)问题已解决,又有新问题,代码如下
<%
sql="select  banji,count(banji)  as num  from tbuser   group by banji"
Set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,3,1

 
response.write rs("banji")
response.write rs("num")
%>
统计一下每个班级有多少人,这样显示结果是表中最上面的一个班。如果写成下面的
<%
sql="select  banji,count(banji)  as num  from tbuser   group by banji"
Set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,3,1

Do While Not rs.eof
rs.movenext
 
response.write rs("banji")
response.write rs("num")

loop
%>
就连一个也无法显示,出现报错错误类型:
ADODB.Field (0x80020009)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
,改如何修改?才能实现每个班相应的人数都统计出来
2010-01-19 14:37
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
得分:5 
你的循环真搞笑
Do While Not rs.eof
    response.write rs("banji")
    response.write rs("num")
    rs.movenext
loop
2010-01-19 15:43
jingjing316
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:293
专家分:541
注 册:2009-8-11
得分:0 
失之毫厘,差之千里,问题已解决。不过统计的到已经参加考试的人员按班级班级分组,和需要参加考试的人员按班级分组的结果。

例如统计五年级一班50人,已经参加过考试的30人,求百分比,如何处理。
同时问一下,asp+access支持带有in的子查询吗?

[ 本帖最后由 jingjing316 于 2010-1-19 16:06 编辑 ]
2010-01-19 15:52
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
得分:0 
其实自己动下手就知道是否支持了
asp也有算术运算符的哦
2010-01-19 16:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-296016-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.111836 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved