关于delphi的sum和max

powerguiyu 2009-07-24 01:58:35
请指教:我的sql语句比如"select sum(步骤) as heji from table1",为什么每次运行都显示"qry1:field[编号]not found",我看论坛里以前类似的问题,有人说是字段里面有空值,但是我测试的时候就一条数据,肯定没空值,而就算把sql语句改成"select isnull(sum(步骤),0) as heji from table1",还是同样的错误,我的步骤字段为number类型的
...全文
142 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yct0605 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 powerguiyu 的回复:]
我把qry1里面的fields全部删除了,确实可以啊,再次谢谢大家啊
[/Quote]
呵呵,问题解决了就好。
powerguiyu 2009-07-24
  • 打赏
  • 举报
回复
我把qry1里面的fields全部删除了,确实可以啊,再次谢谢大家啊
yct0605 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xiaoxueren1983 的回复:]
應該是你在創建qry1時把'編號'欄位加進去了.
你在 object treeview 中看qry1-fields下面是不是有個'编号'的字段.

[/Quote]
也有这个可能,lz检查一下。
xiaoxueren1983 2009-07-24
  • 打赏
  • 举报
回复
應該是你在創建qry1時把'編號'欄位加進去了.
你在 object treeview 中看qry1-fields下面是不是有個'编号'的字段.
yct0605 2009-07-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 powerguiyu 的回复:]
var sqlstring:string;
begin
sqlstring:='select sum(步骤) as heji from caozuopiao';
with qry1 do
begin
qry1.close;
qry1.sql.clear;
qry1.sql.add(sqlstring);
qry1.open;
end;
edit1.text:=inttostr(qry1.fieldbyname('heji').asinteger)
end;

谢谢大家,再把我的表caozuopiao介绍下:编号字段int型,是SQL自动编号的那个,其他字段为varchar,步骤字段为numeric,现在就是要把步骤这个字段的值求个和,不是编号字段啊,
另外我语句中的heji字段应该是自动加的吧
[/Quote]

这么写没有错误啊!我刚才试了,没有错误!
powerguiyu 2009-07-24
  • 打赏
  • 举报
回复
var sqlstring:string;
begin
sqlstring:='select sum(步骤) as heji from caozuopiao';
with qry1 do
begin
qry1.close;
qry1.sql.clear;
qry1.sql.add(sqlstring);
qry1.open;
end;
edit1.text:=inttostr(qry1.fieldbyname('heji').asinteger)
end;

谢谢大家,再把我的表caozuopiao介绍下:编号字段int型,是SQL自动编号的那个,其他字段为varchar,步骤字段为numeric,现在就是要把步骤这个字段的值求个和,不是编号字段啊,
另外我语句中的heji字段应该是自动加的吧
yct0605 2009-07-24
  • 打赏
  • 举报
回复
SELECT SUM(column_name) FROM table_name

select sum(编号)as heji from tabl
qry1.open
在open之后是不是先对“编号”进行了操作,把你的代码贴出来。
edit1.text:=inttostr(qry1.fieldbyname('heji').asinteger)
yct0605 2009-07-24
  • 打赏
  • 举报
回复
在open之前报错,肯定是sql语句的问题
select * from tabl这样尝试应该不会报错吧。
powerguiyu 2009-07-24
  • 打赏
  • 举报
回复
to2楼,根本运行不到edit1.text:=inttostr(qry1.fieldbyname('heji').asinteger)已经报错了
powerguiyu 2009-07-24
  • 打赏
  • 举报
回复
编号是这个表的第一个字段
骑牛上铂金 2009-07-24
  • 打赏
  • 举报
回复
qry1.fieldbyname('heji').asstring;
de410 2009-07-24
  • 打赏
  • 举报
回复
select sum(步骤) as heji from table1
里面没有你说的“编号”字段啊~~

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧