编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
 
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

关于COUNT的使用方法?

关于COUNT的使用方法?

adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select count(*) as kh_clqk from khts';
adoquery1.Open;
edit1.Text:=adoquery1.FieldValues['kh_clqk'];

这样运行后edit1.text中显示的数子为5 我数据库就5条记录

但是我加个条件后就出错什么原因
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select count(*) as kh_clqk from khts where kh_clqk=''1''';
adoquery1.Open;
edit1.Text:=adoquery1.FieldValues['kh_clqk'];
这样运行就出错
我使用的是sybase数据库 采用ODBC数据源连接方式

出错信息
sybase ODBC Driver adaptive SERVER Anywhere SYNTAX ERROR OR ACCESS VIOLATION:Invalid use of an aggregate function

TOP

解决 ACCESS中可以
adoquery1.SQL.Text:='select count(*) as kh_clqk from khts where kh_clqk=''1''';
在sybase中应改为
adoquery1.SQL.Text:='select count(*) aa from khts where kh_clqk=''1''';

TOP


要是想分组计数,可以考虑使用 having 子句:

select count(*) num from khts
where ...
having num>=...

或者
having num<...
爱我至爱,至死不渝!

TOP

'kh_clqk' 不能作为查询条件把

TOP

我记得是
adoquery1.SQL.add:='select count(*) as kh_clqk from khts';

TOP

发新话题