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

Preguntas similare

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



Respuesta Responder a este mensaje
#2 Miquel
09/05/2005 - 20:45 | Informe spam
Esa mania que tenemos de comer!

En fin... que muchas gracias,
y si. haré algo como lo que dices.
Grácias,
Miquel

"Guillermo 'guille'" escribió en el mensaje
news:
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
>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida