Ver Mensaje Individual
  #3  
Antiguo 25-07-2024
GINMARMENOR GINMARMENOR is offline
Miembro
 
Registrado: feb 2016
Posts: 71
Reputación: 10
GINMARMENOR Va por buen camino
En relación a:

Cita:
Hola...una observación: En la propiedad TEXT del "ibQuery", no te hace falta "FROM" en la sentencia SELECT??... "select * FROM
motivos..." y otra obervación, el campo AÑO te permite la "Ñ"??...la verdad nunca he usado la Ñ en los campos que creo en
Firebird, no sé si lo permita. En realidad los declaro -en el caso del año- como ANIO.
Tienes razón FROM lo olvidé en la sintaxis en el foro, pero está escrito en el código, y tambén la 'Ñ' no la permite, uso N
era por usar un lenguaje natural.

Lo cierto es que como he dicho funciona:

Código SQL [-]
                          ibQueryMotivos.close;
                          IbQueryMotivos.Clear;
                          IbQueryMotivos.add('select * from motivos where anio IN (1925,1955,1920)';
                          IbQueryMotivos.open;

y no

Código SQL [-]
                        var
                            anios:string;

                        begin
                          anios:=(1925,1955,1920);
                        
                          IBQueryMotivos.SQL.Clear;
                          IBQueryMotivos.SQL.Add('select * from motivos where año in '+ANIOS);
                          IBQueryMotivos.Open;

He intentando 200 maneras pero no lo consigo,

He intentando el procedimiento que me pones:


Código SQL [-]
procedure OnClick(Sender: TObject);
var
    cAnios : String;
begin
      cAnios:=cAnios+Edit1.Text+',';
end;


procedure EjecutarProc(Sender: TObject);
var
    cAnios2 : String;
begin
       
       cAnios2:='('+cAnios+')'
       spEjecutar.Prepared;
       spEjecutar.ParamByName('ANIOS').AsString:=cAnios2
       spEjecutar.ExecProc;
end;

Pero no sé ejecutarlo, Gracias, mañana intentaré con la mente más fresca pasar una variable a parámetro a ver.
Responder Con Cita