Códigos como clave primaria

09/05/2005 - 17:50 por Miquel | Informe spam
Hola,

Tengo algunos problemas a la hora de asignar códigos. me explico:

Tengo una grid, en la que el código del registro se pone automaticamente,
siendo este un numero. Debe ser correlativo pero no puede ser de un campo
autonumérico. Además, la aplicación es multiusuario, por lo que debo
prevenir códigos duplicados a la hora de insertar registros.
Mi idea era utilizar una tabla de contadores y coger el valor del código de
ahí. Como me gustaria que el usuario viera el código asignado al nuevo
registro en el momento de darlo de alta, habia pensado en consultar el valor
de la tabla de contadores en el momento de añadir la fila en la grid. Pero
si este usuario se va a almorzar, en el momento en que realmente grabe la
fila en la BBDD es muy posible que este numero ya esté cogido.

alguien sabe de algun patrón o de algun sitio en dónde haya información para
casos así?

Grácias
 

Leer las respuestas

#1 Guillermo guille
09/05/2005 - 18:46 | Informe spam
lo mejor es que le digas al usuario que no se vaya a comer hasta que guarde el
registro... je, je.

En serio: eso es algo que... a muchos les trae de cabeza, y la solución no es
"universal", ya que depende de cómo manejes las tablas y de la conectividad que
tengan los usuarios de tus bases...

En el caso que indicas, lo mejor es que "reserves" el número y en caso de que
no se utilice, lo asignes a otra entrada o bien, "obligues" al usuario a usarlo
en un periodo de tiempo "relativamente corto", que no lo usa... simplemente se
lo quitas.

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Te invito a mi sitio dedicado al VB y más...
http://www.elguille.info/
http://www.mundoprogramacion.com/
(puede que el correo usado sea anti-spam)


"Miquel" wrote in message
news:O4I$
Hola,

Tengo algunos problemas a la hora de asignar códigos. me explico:

Tengo una grid, en la que el código del registro se pone automaticamente,
siendo este un numero. Debe ser correlativo pero no puede ser de un campo
autonumérico. Además, la aplicación es multiusuario, por lo que debo
prevenir códigos duplicados a la hora de insertar registros.
Mi idea era utilizar una tabla de contadores y coger el valor del código de
ahí. Como me gustaria que el usuario viera el código asignado al nuevo
registro en el momento de darlo de alta, habia pensado en consultar el valor
de la tabla de contadores en el momento de añadir la fila en la grid. Pero
si este usuario se va a almorzar, en el momento en que realmente grabe la
fila en la BBDD es muy posible que este numero ya esté cogido.

alguien sabe de algun patrón o de algun sitio en dónde haya información para
casos así?

Grácias



Preguntas similares