hola casi no trabajo de la forma en la que lo haces pero la pregunta es por que quieres editar la tabla en esta linea
?
bien creo que la mejor forma de eliminar es pasando parametros haber si te sirve este ejemplo
Código Delphi
[-]procedure TFclientes.btn3Click(Sender: TObject);
var weliminar:Integer;
begin
weliminar:=StrToInt(Fclientes.txtnumero.Text);
if weliminar<>0 then
begin
with Fmodulo.Qry_Temp do
begin
SQL.Clear;
SQL.Add('select count(*) as existe from clientes');
SQL.Add('where idcliente=:peliminar');
Parameters.ParamByName('peliminar').Value:=weliminar;
try
Open;
if FieldByName('existe').AsInteger=1 then
begin
with Fmodulo.Qry_Temp2 do
begin
SQL.Clear;
SQL.Add('delete from clientes');
SQL.Add('where idcliente=:peliminar2');
Parameters.ParamByName('peliminar2').Value:=weliminar;
ExecSQL;
Application.MessageBox('Registro Eliminado con Exito','Registro Eliminado', MB_OK + MB_ICONINFORMATION);
limpiar;
saca_consecutivo;
end;
end
else
begin
MessageDlg('Al parecer el Registros que intenta eliminar no existe'+chr(13)+'Verifique que los datos sean correctos e intente nuevamente', mtError, [MBOK], 0);
end
except
on E:EOleException do
begin
MessageDlg(Format('Error: %s Codigo: %d', [E.Message, E.ErrorCode]), mtError, [mbOK], 0);
end;
end;
end;
end
else
begin
MessageDlg('Ocurrio un Error Inesperado'+chr(13)+'pongase en contacto con el Adminsitrador del Sistema', mtError, [MBOK], 0);
end;
end;
realmente la instruccion importante aqui es la que esta marcada con negritas