当我运行一段程序的时候,提示如下错误信息:
Project wy.exe raised exception class EDBEngineError with message 'When GROUP BY exists,every simple field in projectors must be in GROUP BY.'.Process stopped.Use Step or Run to continue.
请问这是什么引起的,应该如何解决。
Project wy.exe raised exception class EDBEngineError with message 'When GROUP BY exists,every simple field in projectors must be in GROUP BY.'.Process stopped.Use Step or Run to continue.
请问这是什么引起的,应该如何解决。
query4.SQL.Add('delete from RYFYHZ');
query4.ExecSQL; query4.Close;
query4.SQL.Clear;
query4.sql.Add('insert into RYFYHZ (name,SL,ZSF,DL,ZDF,JS)');
query4.SQL.Add(' select name,sum(B3),sum(B4),sum(C3),sum(C4),JS from jf');
query4.SQL.Add('group by name');
query4.ExecSQL; query4.Close;
query4.SQL.Add('select sum(SL),sum(ZSF),sum(DL),sum(ZDF),JS');
query4.SQL.Add(' from RYFYHZ');
query4.Open;
group by name, jf
试试看
你能说的明白点吗,我刚刚开始学,不怎么懂,谢谢
query4.SQL.Add('select sum(SL),sum(ZSF),sum(DL),sum(ZDF),JS');
query4.SQL.Add(' from RYFYHZ');
改成
query4.SQL.Add('select sum(SL),sum(ZSF),sum(DL),sum(ZDF),JS');
query4.SQL.Add(' from RYFYHZ GROUP BY JS');
query4.sql.Add('insert into RYFYHZ (name,SL,ZSF,DL,ZDF,JS)');
query4.SQL.Add(' select name,sum(B3),sum(B4),sum(C3),sum(C4),JS from jf');
query4.SQL.Add('group by name');
改成
query4.sql.Add('insert into RYFYHZ (name,SL,ZSF,DL,ZDF,JS)');
query4.SQL.Add(' select name,sum(B3),sum(B4),sum(C3),sum(C4),JS from jf');
query4.SQL.Add('group by name,JS');
query4.Close;
query4.SQL.Clear;
query4.SQL.Add('delete from RYFYHZ');
query4.ExecSQL;query4.Close;
query4.SQL.Clear;
query4.sql.Add('insert into RYFYHZ (name,SL,ZSF,DL,ZDF,JS)');
query4.SQL.Add(' select name,sum(B3),sum(B4),sum(C3),sum(C4),JS from jf');
query4.SQL.Add('group by name,JS');
query4.ExecSQL;
query4.Close;
query4.SQL.Clear;
query4.SQL.Add('select sum(SL),sum(ZSF),sum(DL),sum(ZDF),JS');
query4.SQL.Add(' from RYFYHZ GROUP BY JS');
query4.Open;
Project wy.exe raised exception class EDBEngineError with message 'Invalid use of keyword.
Token:select
Line Number:4'.Process stopped.Use Step or Run to continue.
我在我上面的代码下面有这么一段代码会不会是他引起的?ryfyhztb.Append;
ryfyhztb.fieldbyname('SL').AsFloat:=query4.Fields[0].Value;
ryfyhztb.fieldbyname('ZSF').AsFloat:=query4.Fields[1].Value;
ryfyhztb.fieldbyname('DL').AsFloat:=query4.Fields[2].Value;
ryfyhztb.fieldbyname('ZDL').AsFloat:=query4.Fields[3].Value;
ryfyhztb.fieldbyname('JS').AsString:=query4.Fields[4].Value;
ryfyhztb.fieldbyname('name').AsString:='合计';
ryfyhztb.Post;
ryfyhztb.Close;
ryfyhztb.Open; query4.Close;
query4.SQL.Clear;
query4.SQL.Add('select * from RYFYHZ');
query4.Open;
end;