Rotina DELETE em SQL retorna erro no DELPHI

Delphi

20/10/2004

O código abaixo dá apenas um clear na tabela mesmo sem eu utilizar o CLEAR do SQL.
E quando eu busco novamente pelo código no Query ele está lá intacto.
Eu tenho certeza que o erro é tão bobo que vai fazer até vergonha.
Mas por favor me ajudem com essa aí.
/////////////////
procedure TFormPrincipal.ResetarParcelas1Click(Sender: TObject);
var
codigo: String;
begin
if inputquery(´Filtrar Imóvel´,´Código do imóvel:´,codigo) then
   begin
   QUERY1.Active:= FALSE;
   QUERY1.SQL.CLEAR;
   QUERY1.SQL.ADD(´DELETE * FROM GRAVAPAGAMENTOS.DB´);
   QUERY1.SQL.ADD(´WHERE (CodigoImovel = :codimovel)´);
   QUERY1.Params[0].AsString:=codigo;
   Query1.Active:=True; //essa linha dá erro "Token"
end; 
    end;
end.



Midialab

Midialab

Curtidas 0

Respostas

Otto

Otto

20/10/2004

tenta tirar o * da rotina sql

ficando assim:


delete from tabela
where codigo = :codigo



GOSTEI 0
Adilsond

Adilsond

20/10/2004

Com relação ao comando delete, o correto é delete from tabela, mas se voce informar delete * from tabela, o comando é executado sem erro.
O seu problema está na linha abaixo:
Query1.Active:=True; //essa linha dá erro "Token"

Mude para:
Query1.ExecSQL;



GOSTEI 0
Midialab

Midialab

20/10/2004

Amigos!

Juntei um pouco do que cada um postou aí e deu certo!
Muito obrigado!
O código ficou assim:

procedure TFormPrincipal.ResetarParcelas1Click(Sender: TObject);
var
codigo: String;
begin
if inputquery(´Filtrar Imóvel´,´Código do imóvel:´,codigo) then
   begin
   QUERY1.Active:= FALSE;
   QUERY1.SQL.CLEAR;
   QUERY1.SQL.ADD(´DELETE FROM GRAVAPAGAMENTOS.DB´); //ajuda do oTTo nessa linha!
   QUERY1.SQL.ADD(´WHERE (CodigoImovel = :codimovel)´);
   QUERY1.Params[0].AsString:=codigo;
   Query1.ExecSQL; //ajuda do AdilsonD nessa linha!
end;
    end;
end.



GOSTEI 0
POSTAR