Ver Mensaje Individual
  #3  
Antiguo 12-01-2011
waly2k1 waly2k1 is offline
Miembro
 
Registrado: dic 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 251
Reputación: 20
waly2k1 Va por buen camino
Y todo es posible...

Hola, como vi que muchos preguntan lo mismo y hasta me vi en la misma situación y probé varias alternativas que vi en la web y no me funcionaron,
desde asignar parametros hasta crearlos y no funcionaba decidí probar de ésta manera y funcionó a la perfección. Nose si con las versiones de zeos
que usan les funciona los ejemplos aportados o no, pero a mi me daba siempre operación no soportada y uso la ultima version siempre.
Aclaración: Todas las pruebas las hacia desde la creación de un objeto TZStoredProc.

Código:
procedure TfrmOFFSET.btnOKClick(Sender: TObject);
var
    sSQL:string;
    qryEXEC:TZQuery;
begin
    sSQL := 'CALL SP_ORDEN_HEAD_INS' +
            ' ( ' +
                ':ID_CLIENTE, ' +
                ':FECHA_INICIO, ' +
                ':FECHA_ENTREGA, ' +
                ':DOMICILIO_ENTREGA, ' +
                ':TELEFONOS, ' +
                ':EMAIL, ' +
                ':ID_RUBRO, ' +
                ':MUESTRA, ' +
                ':OBSERVACIONES' +
            ' ) ';

    qryEXEC := TZQuery.Create( nil );
    qryEXEC.SQL.Add( sSQL );

    qryEXEC.ParamByName( 'ID_CLIENTE'            ).Value := iCliente;
    qryEXEC.ParamByName( 'FECHA_INICIO'            ).Value := dInicio;
    qryEXEC.ParamByName( 'FECHA_ENTREGA'        ).Value := dFin;
    qryEXEC.ParamByName( 'DOMICILIO_ENTREGA'    ).Value := sDomic;
    qryEXEC.ParamByName( 'TELEFONOS'            ).Value := sTel;
    qryEXEC.ParamByName( 'EMAIL'                ).Value := seMail;
    qryEXEC.ParamByName( 'ID_RUBRO'                ).Value := lngRubro; 
    qryEXEC.ParamByName( 'MUESTRA'                ).Value := Abs( StrToInt( BoolToStr( bMuestra ) ) );
    qryEXEC.ParamByName( 'OBSERVACIONES'        ).Value := sObserv;

    qryEXEC.Connection := Data.zConx;
    qryEXEC.ExecSQL;
    FreeAndNil( qryEXEC );
    Close;
end;
Así que acá posteo mi humilde fragmento de código, funciona a la perfección y aparte mucho más prolijo que andar concatenando cadenas de parámetros.
Así que bueh, espero que a alguien le sirva y pueda aprovecharlo.

Saludos gente del Club y gracias por existir!
Walter
Responder Con Cita