起步软件技术论坛-X3

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

【结贴】Tquery的问题

[复制链接]
发表于 2009-9-29 13:29:58 | 显示全部楼层 |阅读模式
如下图所示:是出现的错误,
代码是这么写的:
Query1.Close;
  Query1.ConnectionString:='DATABASEURL=Biz:KHXTKHSJK.Database';
   Query1.CommandText:='select avg(ZZDF) from ZGPJB';
  Query1.Execute;
  Query1.Open;
  dialogs.ShowMessage(Query1.FieldByName('avg(ZZDF)').AsString);
难道不能取平均?错误出现在Query1.Open;这一句上。

qq1.png

14.63 KB, 下载次数: 197

回复

使用道具 举报

发表于 2009-9-29 13:37:35 | 显示全部楼层
平均值小数位数太多了,你看看能不能在sql语句中使用一下round函数截取一下小数位数。
回复 支持 反对

使用道具 举报

发表于 2009-9-29 13:38:14 | 显示全部楼层
在avg(zzdf)外,再加个四舍五入函数试试
回复 支持 反对

使用道具 举报

发表于 2009-9-29 13:54:01 | 显示全部楼层
应该把query.execute去掉;而且最后一行代码写的有问题。要么用lquery1.fields[0].asstring ;要么改一下前面的SQL语句,给SUM(ZZDF)一个别名,然后用这个别名。delphi好像没你这么写的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-29 15:18:12 | 显示全部楼层
已解决,方法如下。谢谢,结贴。
Query1.Close;
  Query1.ConnectionString:='DATABASEURL=Biz:\KHXT\KHSJK.Database';
  Query1.CommandText:='select  round(AVG(ZZDF),3) as zd1 from ZGPJB ';
  Query1.Execute;
  Query1.Open;
  DataEdit15.Text:=sysutils.floatToStr(Query1.FieldByName('zd1').AsFloat);
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-15 22:05 , Processed in 0.045514 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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