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)
-   -   bloque de registro (https://www.clubdelphi.com/foros/showthread.php?t=5223)

Manuel 13-11-2003 16:28:05

bloque de registro
 
hola amigos del foro, tengo el siguiente problema tengo una aplicación realizada en delphi 5.0 con interbase 6.0, en la cual matriculo alumnos de un colegio, la tabla alumnos tiene entre otros campos, el campo matricula (integer):

este número es un correlativo, que es generado por la aplicación, yo guardo en una tabla llamada config el último número de matricula utilizado, el cual incremento cuando se matricula otro alumno, ahora bien tengo 4 equipos trabajando simultaneamente en la matricula, el problema que tengo me pasa en la siguiente parte, cuando incremento el número de matricula y grabo el nuevo número en la tabla config, el código es el siguiente (uso los componentes ttable, con dbe:

NewNum := dm.tconfigultimo.value;
inc(newNum); // integer;
dm.tconfig.edit;
dm.tconfigUltimo.Value := NewNum;
dm.tconfig.Post;

se provoca un error, al parecer el registro de la tabla config, queda bloqueado, al parecer hay que cerrar y abrir la tabla para que se desbloquee, o hay otra solución?.
:confused:

jachguate 13-11-2003 16:48:28

Porque no utilizas un Generador para obtener el valor de la matricula?

En ese caso está garantizada la unicidad de la clave, mientras no tenes problemas de bloqueo entre transacciones.

Si te interesa podes leer en la documentación sobre la sentencia create generator y la función gen_id

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 20:00:10.

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