代码如下:
procedure Tcxfrm.SpeedButton3Click(Sender: TObject);
begin
dm1.Query4.Open;
with dm1 do
begin
query4.Close;
query4.SQL.Clear;
query4.SQL.Add('delete from grfsdzh');
query4.ExecSQL; query4.Close;
query4.SQL.Clear;
query4.SQL.Add('insert into grfsdzh (NAME,FW,FH,A3,WXF,WSF,C3,C4,B3,B4,HJ,JS)')
query4.SQL.Add(' select NAME,FW,FH,A3,WXF,WSF,C3,C4,B3,B4,HJ,JS from fsdzh');
query4.ExecSQL; query4.close;
query2.sql.clear;
query4.sql.add('select sum(A3),sum(WXF),sum(WSF),sum(C3)');
query4.SQL.Add(',sum(C4),sum(B3),sum(B4),sum(HJ),js');
query4.sql.Add(' from grfsdzh');
query4.SQL.Add('where NAME like '+''''+edit1.Text+'%'+'''');
query4.SQL.Add(' and js>='+''''+edit2.Text+'''');
query4.SQL.Add(' and js<='+''''+edit3.Text+'''');
query4.SQL.Add(' group by js');
* query4.open; hzktb.Append;
grfsdzhtb.Append;
grfsdzhtb.FieldByName('A3').AsFloat:=query4.Fields[0].Value;
grfsdzhtb.fieldbyname('WXF').asfloat:=query4.fields[1].Value;
grfsdzhtb.fieldbyname('WSF').asfloat:=query4.fields[2].Value;
grfsdzhtb.fieldbyname('C3').asfloat:=query4.fields[3].Value;
grfsdzhtb.fieldbyname('C4').asfloat:=query4.fields[4].Value;
grfsdzhtb.fieldbyname('B3').asfloat:=query4.fields[5].Value;
grfsdzhtb.fieldbyname('B4').asfloat:=query4.fields[6].Value;
grfsdzhtb.fieldbyname('HJ').asfloat:=query4.fields[7].Value;
grfsdzhtb.fieldbyname('FH').asstring:='合计';
grfsdzhtb.fieldbyname('FW').asstring:='总';
grfsdzhtb.Post;
grfsdzhtb.Close;
grfsdzhtb.Open; query4.Close;
query4.SQL.Clear;
query4.SQL.Add('select * from grfsdzh');
query4.Open;
end;
end;我断点跟踪调试了一下,当运行到上代码有*号开头的那行,提示如下错误信息:
Project wy.exe raised exception class EDBEngineError with message'Invalid use of keyword.
Token:select
Line Number:3'. Process stopped. Use Step or Run to continue.请问应该如何解决。谢谢!
procedure Tcxfrm.SpeedButton3Click(Sender: TObject);
begin
dm1.Query4.Open;
with dm1 do
begin
query4.Close;
query4.SQL.Clear;
query4.SQL.Add('delete from grfsdzh');
query4.ExecSQL; query4.Close;
query4.SQL.Clear;
query4.SQL.Add('insert into grfsdzh (NAME,FW,FH,A3,WXF,WSF,C3,C4,B3,B4,HJ,JS)')
query4.SQL.Add(' select NAME,FW,FH,A3,WXF,WSF,C3,C4,B3,B4,HJ,JS from fsdzh');
query4.ExecSQL; query4.close;
query2.sql.clear;
query4.sql.add('select sum(A3),sum(WXF),sum(WSF),sum(C3)');
query4.SQL.Add(',sum(C4),sum(B3),sum(B4),sum(HJ),js');
query4.sql.Add(' from grfsdzh');
query4.SQL.Add('where NAME like '+''''+edit1.Text+'%'+'''');
query4.SQL.Add(' and js>='+''''+edit2.Text+'''');
query4.SQL.Add(' and js<='+''''+edit3.Text+'''');
query4.SQL.Add(' group by js');
* query4.open; hzktb.Append;
grfsdzhtb.Append;
grfsdzhtb.FieldByName('A3').AsFloat:=query4.Fields[0].Value;
grfsdzhtb.fieldbyname('WXF').asfloat:=query4.fields[1].Value;
grfsdzhtb.fieldbyname('WSF').asfloat:=query4.fields[2].Value;
grfsdzhtb.fieldbyname('C3').asfloat:=query4.fields[3].Value;
grfsdzhtb.fieldbyname('C4').asfloat:=query4.fields[4].Value;
grfsdzhtb.fieldbyname('B3').asfloat:=query4.fields[5].Value;
grfsdzhtb.fieldbyname('B4').asfloat:=query4.fields[6].Value;
grfsdzhtb.fieldbyname('HJ').asfloat:=query4.fields[7].Value;
grfsdzhtb.fieldbyname('FH').asstring:='合计';
grfsdzhtb.fieldbyname('FW').asstring:='总';
grfsdzhtb.Post;
grfsdzhtb.Close;
grfsdzhtb.Open; query4.Close;
query4.SQL.Clear;
query4.SQL.Add('select * from grfsdzh');
query4.Open;
end;
end;我断点跟踪调试了一下,当运行到上代码有*号开头的那行,提示如下错误信息:
Project wy.exe raised exception class EDBEngineError with message'Invalid use of keyword.
Token:select
Line Number:3'. Process stopped. Use Step or Run to continue.请问应该如何解决。谢谢!
改为
query4.SQL.Add(' and js>='''+edit2.Text+'''');
你看看可不可以?
谁能帮我看看,到底是那里的毛病
where 前面加个空格
query4.SQL.Add(' and js<='+''''+edit3.Text+'''');改成
query4.SQL.Add(' and js>='+edit2.Text+'''');
query4.SQL.Add(' and js<='+edit3.Text+'''');
query4.SQL.Add(' and js>='+edit2.Text);
query4.SQL.Add(' and js<='+edit3.Text);
query4.SQL.Add(' and js<=''''+edit3.Text+'''');
改為這樣試試
query4.close;
query2.sql.clear;
query4.sql.add('select sum(A3) A31,sum(WXF) WXF1,sum(WSF) WSF1,sum(C3) C31');
query4.SQL.Add(',sum(C4) C41,sum(B3) B31,sum(B4) B41,sum(HJ) HJ1,js');