[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