起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 80|回复: 4

【搞定】帮我解决一个错误!**

[复制链接]
发表于 2007-6-5 18:19:59 | 显示全部楼层 |阅读模式
procedure TMainForm.BizFormCreate(Sender: TObject);
var
   dataset1:TSQLDataSet;
begin
dataset1 := TSQLDataSet.Create(Self);
dataset1.Database.URL:='Biz:\JXC_GJP_\SJK.Database';
with dataset1 do
begin
sql.Text := 'select Count(SL) from TJDBCB Group by SPBH';
          Open;
          while not eof do
          begin
               Edit1.Text := sysutils.IntToStr(FieldByName('Count(SL)').AsInteger);
               Next;
          end;
          Close;
end;
end;

//Edit1.Text := sysutils.IntToStr(FieldByName('Count(SL)').AsInteger); 这一句是错的,能帮我解决吗?
回复

使用道具 举报

发表于 2007-6-6 08:29:13 | 显示全部楼层
Count(SL),这是啥,是一个字段的ID,还是在求SL这个字段的格式
你不会告诉我是后者吧,如果是,那肯定不对,FieldByName 后面的参数是字段的ID,不是其他的。
回复 支持 反对

使用道具 举报

发表于 2007-6-6 08:40:34 | 显示全部楼层
sql.Text := 'select Count(SL) As lSL  from TJDBCB Group by SPBH';
Edit1.Text := sysutils.IntToStr(FieldByName('lSL').AsInteger);
这样写既可。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-6 08:48:50 | 显示全部楼层
Count(SL)我写错了,呵呵,用Sum(SL)用你的方法解决了,谢谢!
回复 支持 反对

使用道具 举报

发表于 2007-6-6 08:50:19 | 显示全部楼层
FieldByName('Count(SL)').AsInteger  里的 Count(SL) 不是字段名,
要想用字段名得这么写 SQL :'select Count(SL) as zsl from TJDBCB Group by SPBH',然后这么调用:
FieldByName('zsl').AsInteger;,

如果不想用字段名调用,就得用索引这么写:
Fields[0].AsInteger;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 08:55 , Processed in 0.039843 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表