Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Correlativos no correlativo (https://www.clubdelphi.com/foros/showthread.php?t=28207)

lpaburto 13-12-2005 15:28:14

Correlativos no correlativo
 
Hola, me gustaria que me dieran una mano con el siguiente problema.

En firebird 1.5 estoy desarrollando una pequeña aplicacion que emita cotizaciones. estan deben llevar un numero correlativo que las identifique, para esto utilizo un generador y un trigger que vayan incrementando el valor.
Pero el resultado son numeros con saltos entre media (ej. 500,506,507,509,515,535, etc.), todo esto con un solo usuario conectado.

esto es comun en firebird y si es asi como puedo generar correlativos realmente correlativos.

Pd. Estoy utilizando los IBX.

De antemano muchas gracias.

rastafarey 13-12-2005 18:02:21

Resp
 
Mira donde lees el valor del genrados.
Si lo haces en un trigger yte aseguras que el generdaor se incremente cuando todos los datos son correctos.

Quisas por eso son lo saltos ya que sto se escapan del control transacional.

cahp 13-12-2005 18:05:26

No tendras en la propiedad GeneratorField del TIBDataset asociado el generador que comentas?

Si es asi, y lo tienes como OnNewRecord, cada vez hagas insert aunque canceles, ese numero se incrementa.

De dodas formas si el identificador al que te refieres tiene que ser correlativo sin saltos, no te recomiendo un generador para eso.

Saludos.

lpaburto 13-12-2005 19:05:42

Cahp,

Efectivamente en el tIbDataset el generador esta en OnNewRecord, Pense que esto se confirmaba solo con un commit de la transaccion.

Por lo que me dan a entender la unica forma de crear correlativos realmente correlativos es ejecutar un procedimiento de forma manual.

Muchas gracias ya que este pequeño problema me hizo perder mucho tiempo.

rastafarey 14-12-2005 13:54:21

Resp
 
Una vez mas.

Tengan en cuenta que los generadores se escapan del control transaccional


La franja horaria es GMT +2. Ahora son las 06:36:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi