SQL问题(50分)

  • 主题发起人 主题发起人 ycc
  • 开始时间 开始时间
Y

ycc

Unregistered / Unconfirmed
GUEST, unregistred user!
将发车总单.db(paradox表)的部分数值字段
分组计算存入计划总单.db中采用Tquery:
SQL中写入:
insert into 计划总单.db (大票吨数,实际吨数,
扣港耗,扣吨数,返吨数,实际数)
select sum(大票吨数),sum(实际吨数),
sum(预扣港耗),sum(折吨),sum(返吨),sum(实入帐)
from 发车总单.db
group by 运输号

可是程序运行时出错:Error creating cursor Handle

请问为什么?
 
Group By 语句中出现的字段(运输号)必须要出现在
结果集中(Select的字段中).
(同时也就必须载"计划总单.db"中定义)

首先你要保证你写的其他内容没错哟!
(可别来个不支持中文什么的 ^_^)
 
你可能是使用了TQuery.Open,非SELECT的SQL语句应该使用TQuery.ExecSQL。
 
dwwang,你可能说错了。
group by 的字段不一定要在结果集中,但是在结果集中的
非常数,非统计字段必须全部出现在group by 中。 :)
Randolph应该是对的。
 
好像是这样.
 
另外paradox不支持SQL 批处理,上面两句应分开执行
 
insert into XXX select * from XXX 这是一条语句
 
将SQL中
insert into 计划总单.db (大票吨数,实际吨数,
扣港耗,扣吨数,返吨数,实际数)
去掉,程序能执行,是不是Paradox不支持insert 命令
 
以上诸位大虾的方法,练习均不能成功
Query.ExecSQL能执行,但当query1.active:=ture
出现Error creating cursor Handle;
 
Query.ExecSQL就是执行了你所需要的操作
说明你已经成功了,不要再query1.active:=ture了!
 
接受答案了.
 
可是在DbGrid上没有显示
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部