Ver Mensaje Individual
  #10  
Antiguo 11-12-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por darkbits Ver Mensaje
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; // (1)
  _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
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita