请问我连接access数据库,使用下列语句为什么报错?急!!!谢谢!

yt2001 2003-10-07 02:52:03
with dm1.qsubsity do
begin
sql.Clear;
sql.Add('select lnum,ldate,lsubsity,lday,sum(lsubsity) from datelog where ldate between ');
SQL.Add('#'+b1+'#'+' and '+'#'+b2+'#');
dm1.qsubsity.Open;

//lsubsity是数字型的,如果是
sql.Add('select sum(lsubsity) from datelog where ldate between
...
就不会有错误
sql.Add('select lnum,ldate,lsubsity,lday from datelog where ldate between
...
也不会有错!
请问怎么解决?谢谢!

错误提示:project evection.exe raised excetpion class EOleexcepion with message'试图执行的查询中部包含作为合计函数一部分的特定表达式'lnum',**不是lnum的问题,删掉lnum,它就提示ldate.
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
solonet 2003-10-09
  • 打赏
  • 举报
回复
补充一下,
sql.clear;

前加上一句;
close;

hudawq 2003-10-08
  • 打赏
  • 举报
回复
用group by或者二次查询解决
zhangheaaa 2003-10-08
  • 打赏
  • 举报
回复
同意:
当然要出错了,你SUM中的只有一条记录,但LNUM,LDATE,LSUBSITY,LDAY可能不止一条记录啊,让他怎么返回查询结果?

看来,你只有分成两次来执行查询了。
61 2003-10-08
  • 打赏
  • 举报
回复
sql.Add('select sum(lsubsity) from datelog where ldate between a1 and a2
group by lsbsity
搬运工木木 2003-10-07
  • 打赏
  • 举报
回复
当然要出错了,你SUM中的只有一条记录,但LNUM,LDATE,LSUBSITY,LDAY可能不止一条记录啊,让他怎么返回查询结果?

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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