Manejo de concurrencia

Necesito manejar la concurrencia. Es decir, yo calculo un folio y lo pongo en la página y el usuario lo tiene que anotar. El problema es cuando varios usuarios accesan a mi página, pueden tener el mismo valor, ya que ese folio no se actualiza hasta que registran todo el resto de la página.
Lo que haga ahorita, es que cuando el usuario entra a la página, grabo el folio inmediatamente, así otro usuario obtiene uno distinto. El problema es que, si el usuario entra a la página y no registra nada, ese folio ya se desperdició.
Y no puedo borrar nada, puesto que en ese momento puede estar entrando alguien más.
Espero tu ayuda.
Gracias.
Respuesta
1
Entiendo muy vagamente tu problemas. Te explicas muy escuetamente y no veo tu problema claro. Necesito más información. Creo que puedo ayudarte pero no lo veo claro como.
Perdón:
Mira, mi aplicación captura encuestas, las mismas que llevan un número de folio el cual se calcula y se pone como dato en la encuesta(browser); este folio el encuestador lo anota en la encuesta física, por lo que no debe estar repetido.
Lo que hago ahorita es que el usuario entra a la página, entonces yo calculo el folio, lo coloco en browser y lo grabo (solo el folio), los datos restantes se graban en el submit.
Problemas: Se pueden desperdiciar números de folio, porque entra en la página y puede no dar un submit (y ya se grabó un folio).
¿Es indispensable que el encuestador tenga el numero de folio? ¿No lo puedes calcular cuando el usuario entre el folio al final del proceso? ¿O no puedes calcularlo al final del proceso e insertarlo cuando estés seguro que todos los datos están ahí? Entonces el encuestador podría apuntarlo en el folio -porque supongo que no lo necesita para nada- hasta la inserción del mismo.
Creo que aun así no me estas explkicando todos los pasos del proceso. A ver, ¿cuándo el usuario pide el numero de folio que pasos hace el usuario?
¿El usuario lo apunta y dos días más tarde rellena la página web por ejemplo?
¿El usuario tiene que continuar el proceso?
¿El usuario exactamente que hace?
Creo que por lo que leo el problema que tienes es que no tienes un buen flujo de funcionamiento en el programa. Tienes que el usuario pueda NO hacer una cosa.
Por favor, si me das más información podre aclarártelo. Ten en cuenta que no se de que proceso me estas hablando.
El usuario debe apuntar el número de folio, para tener una referencia física que corresponda a la almacenada, Y sí, el usuario tiene que continuar el proceso, ya que se capturan los datos en fechas específicas.
El usuario entra y anota el número de folio en su encuesta física y procede a introducir los datos. Posteriormente da submit.
Puede que sí, le muestre el número de folio que le corresponde una vez ya insertados los datos, ¿pero tengo una pregunta? Es funcional mándarselo en un msgbox, ¿alert o algo que se le parezca?. Porque probablemente, el usuario no preste atención y simplemente le de aceptar sin anotar el número de folio correspondiente. O bien sugiéreme que puedo hacer.
Cuando se dan estos tipos de casos, el usuario no debe de tener ningún control sobre el flujo de información en el sistema. Al usuario se le tiene que dar el numero de control al final, cuando la información ha sido introducida. De esta manera no pierdes el dato del numero.
De otro modo podría darse el caso en el que el usuario no finalizase el proceso de inserción de datos y se nos quede un identificador colgando por ahí, cosa que no queremos.
El numero se le tiene que dar al usuario al final. El usuario puede insertar los datos y al final aparecerle una página con la información del resultado de la inserción y en ese resultado que aparezca bien referenciado el numero de encuesta introducido.
En cuanto a si puede ser introducido en un msgbox, si, claro que si.
Puedes generar el bloque de JScript desde el ASP e imprimirlo en el navegador junto con el resto de la página ASP.
El flujo ha de ser algo si
Página Inserción de datos
|
v
Se insertan datos en BBDD
|
v
Se le muestra el ID de la encuesta
Así el usuario no nos fastidia la bbdd.
Hola:
Que pena finalizar la pregunta hasta ahora. Yo creí que ya lo había hecho; pero al parecer la red no anda muy bien. Gracias por todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas