sql高手请进,bde中行,ado中出错,why!!!

aay 2001-01-08 09:23:00
用sql分类统计,bde中代码如下:
query1.sql.add('select '+combobox1.text'+',count('+combobox1.text+') as 数量 from ku group by '+combobox1.text;
设combobox1.text:='性别';
无问题.
现改用ado后.上述语句出现错误:
'试图执行的查询中部包含作为合计函数一部分的特定表达式'性别'
改用 parameters(动态)也不行.
但用
select 性别,count(性别) as 数量 from ku group by 性别
则无问题
why!!
...全文
101 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
aay 2001-01-09
to deamd 谢谢。
用三个参数不出错了,但却不出结果(不分类,只有总数)。
你的语句和我的有什么不同?我说一样啊。
回复
artgolf 2001-01-09
ado中的sql语法与bde中的稍有区别,你可以调整connectstring中的细节来解决此问题,或者用ansi规范,双引号表示字段名,单引号表示字符串常量...
回复
TeamD 2001-01-08
改正一下我的错误。
上述语句我试验没有错误发生。

edit1.text:='name';

var
sqlstr:string;
begin
sqlstr:='select '+edit1.text+',count('+
edit1.text+') as Num from country group by '+edit1.text;
with adoquery1 do
begin
SQL.Add(sqlstr);
Active:=True;
end;
end;

第一次所述为看错标题了对不住。
回复
button 2001-01-08
检查一下语句,你这样写肯定错了!!!
回复
TeamD 2001-01-08
在ADO里面。你要加入三个参数的值而不是一个参数的值。虽然这三个参数的值都是一样的
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4919

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2001-01-08 09:23
社区公告
暂无公告