[Lazarus-es] zeos-firebird: ejemplo transacciones

Ismael L. Donis García ismael en citricos.co.cu
Lun Mayo 10 16:52:00 CEST 2010


rsbuscar.SQL.Clear;
rsbuscar.SQL.Text := 'execute procedure p_num_rec(:vch_entidad, 
:sin_almacen)';
rsbuscar.Params.ParamByName('vch_entidad').AsString:='nombre_de_la_entidad';
rsbuscar.Params.ParamByName('sin_almacen').AsSmallInt:=número_del_almacén;
trabuscar.StartTransaction;
rsbuscar.Open;
numero_de_la_recepción := rsbuscar.FieldByName('int_nrec').AsInteger;

Saludos
=========
|| ISMAEL ||
=========
----- Original Message ----- 
From: "Paola Bruccoleri" <pbruccoleri en adinet.com.uy>
To: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Sent: Friday, May 07, 2010 7:12 PM
Subject: Re: [Lazarus-es] zeos-firebird: ejemplo transacciones


Ismael L. Donis García escribió:
> Paola, lo primero que  te recomiendo es que pases la lógica hacia la BD, 
> segundo puedes obtener el valor del generador desde el mismo procedimiento 
> que usas para incrementar el generador y guardarlo en una variable con la 
> cual trabajarías después.
>
> Te pasó un código de ejemplo que yo uso para que tengas una idea.
>
> SET TERM ^ ;
> CREATE PROCEDURE P_NUM_REC (
>    VCH_ENTIDAD Varchar(7),
>    SIN_ALMACEN Smallint )
> RETURNS (
>    INT_NREC Integer )
> AS
> BEGIN
>  /* Actualiza el número de la recepción */
>  select a.no_r from vtaconteo a where ((a.entidad = :vch_entidad) and 
> (a.almacen = :sin_almacen)) into :int_nrec;
>  update vtaconteo set no_r = no_r + 1 where ((vtaconteo.entidad = 
> :vch_entidad) and (vtaconteo.almacen = :sin_almacen));
>  suspend;
> END^
> SET TERM ; ^
>
Hola Ismael..

como obtengo desde el programa ese numero int_nrec? con el
parambyname('init_nrec').asinteger?
chauuuuuuuuuuuu





_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es






More information about the Lazarus-es mailing list