ASP.NET - que bloqueo sería el mejor?

   
Vista:

que bloqueo sería el mejor?

Publicado por Silvia (185 intervenciones) el 08/11/2007 19:10:44
Hola amigos vereis necesito vuestra experta opinion en referencia a lo siguiente:
Suponed que haceis una aplicacion web en la que tienes que asignar un dorsal a un corredor.
Es decir tengo la base de datos en access de corredores un campo que pone nombre y otro campo que pone dorsal.
En el formulario hay un boton que cuando lo pulso entonces me inserta el nuevo nombre en la base de datos y le asigna un dorsal nuevo. El dorsal nuevo lo coge de la siguiente forma es decir se posiciona al final de los registros y si el ultimo registro tiene el dorsal nº 100 entonces le suma uno y le da el dorsal 101.
A este programa como mucho van a acceder cuatro personas desde sus ordenadores . y yo me pregunto si esas cuatro personas a la vez deciden dar un nuevo dorsal ¿que ocurrria?, ¿les daría a todas el mismo dorsal?, ¿habría algun error?.
Por eso yo pregunto si eso se puede solucionar con algun tipo de bloqueo optimista pesimista y si existe según vosotros alguna forma de evitar lo comentado y que puedan al menos cuatro personas trabajar a la vez metiendo dorsales.
Es imprescindible que la base de datos sea de access por eso no puedo trabajar con sql server ni similar.
Saludos amigos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:que bloqueo sería el mejor?

Publicado por Alo (12 intervenciones) el 08/11/2007 19:52:35
No puedo ayudarte mucho pero creo que sería bueno que antes de insetar el campo dorsal verificaras si existe en la tabla...

Por otro lado (algo que nada que ver...) hace ya tiempo programando con JSP.. (java) trae un metodo de asincronos (sincronización) donde una función puede ser usada por un solo usuario y hasta que la suelta la puede usar otro usuario.. y funcionaba perfectamente para la generación de claves y hacia dentro de esa función exactamente lo que tu haces... Algo asi debe traer Net... checar por ahí...

saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar