Cita:
Empezado por darkbits
probe con parametros y me sigue tirando el mismo error
...
|
No has comentado con que componentes estas trabajando, pero de este modo en
Firebird no tendría por que darte error:
Código Delphi
[-]
_DM.consulta1.SQL.Text := 'SELECT * FROM CLIENTES WHERE ID_CLIENTE = :MIID';
_DM.consulta1.ParamByName('MIID').AsString := Edit11.Text; _DM.consulta1.open;
(1) Pero, si el ingreso no es un entero (vg. 'hola') lanzará un error de conversión, que se podría evitar de este modo:
Código Delphi
[-]
_DM.consulta1.Close;
_DM.consulta1.SQL.Text := 'SELECT * FROM CLIENTES WHERE ID_CLIENTE = :MIID';
_DM.consulta1.ParamByName('MIID').AsInteger := StrToIntDef(Edit11.Text, 1); _DM.consulta1.Open;
(*) Uno o el valor que desees por defecto.
Otra opción es interpretar el ingreso de cadena vacía como la intención de mostrar todas las filas:
Código Delphi
[-]
_DM.consulta1.Close;
_DM.consulta1.SQL.Clear;
_DM.consulta1.SQL.Add('SELECT * FROM CLIENTES');
if Edit1.Text <> '' then
begin
_DM.consulta1.Add('WHERE ID_CLIENTE = :MIID');
_DM.consulta1.ParamByName('MIID').AsInteger := StrToIntDef(Edit11.Text, 1);
end;
_DM.consulta1.Open;
Saludos