PDA

Ver la Versión Completa : bloque de registro


Manuel
13-11-2003, 15:28:05
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, 15: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.

;)