Tracciones con Visual Basic y ADO

A

Andy

Hola a todos.

Espero que me ayuden.

Usando el begintrans de ADO, ¿Soluciona el problema de las concurrencias?, es decir el problema: de la zona critica.

"Estamos diseñando una aplicación WEB de inventarios; nuestro problema actual es como controlar las salidas de inventario, ya que múltiples usuarios pueden estar consultando el mismo registro al mismo tiempo. Al momento de actualizar los datos, puede que los datos sobre los cuales se estaban trabajando ya no sean reales, dado que otro usuario haya actualizado el mismo registro con anterioridad". Tomado de http://www.callsql.com/ES/FAQ/FAQ1ES.HTM

Otro caso es cuando se maneja los recordset desconectados, por ejemplo el programa lee codigo de prestamo de libro y le mustra al usuario el siguiente codigo disponible de la tabla prestamos. (C099)
Simultaneamente hay otro usuario y el programa le devuelve. (C099)

Si el usuario A graba después de 3 minutos, se genera el nuevo registro con el codigo (C099), pero si el usuario B intenta grabar habra un error ya que se repite el código.

Una solución es hacer un método que obtenga el codigo de nuevo y luego inserte el registro. y que si hay error vuelva a buscar otro codigo nuevo.

La pregunta es ¿qué pasaria, teoricamnte, si las dos operaciones se hacen a la misma vez?
 
B

Bryan Martin

Haga una búsqueda en google o en el archivo de la ayuda para trabar el recordset. Usted necesitará aprender cómo colocar las cerraduras en el recordset cuando las actualizaciones son necesarias. Esta manera más de una persona no puede poner al día el mismo expediente en el mismo tiempo.
Bryan Martin

Hola a todos.

Espero que me ayuden.

Usando el begintrans de ADO, ¿Soluciona el problema de las concurrencias?, es decir el problema: de la zona critica.

"Estamos diseñando una aplicación WEB de inventarios; nuestro problema actual es como controlar las salidas de inventario, ya que múltiples usuarios pueden estar consultando el mismo registro al mismo tiempo. Al momento de actualizar los datos, puede que los datos sobre los cuales se estaban trabajando ya no sean reales, dado que otro usuario haya actualizado el mismo registro con anterioridad". Tomado de http://www.callsql.com/ES/FAQ/FAQ1ES.HTM

Otro caso es cuando se maneja los recordset desconectados, por ejemplo el programa lee codigo de prestamo de libro y le mustra al usuario el siguiente codigo disponible de la tabla prestamos. (C099)
Simultaneamente hay otro usuario y el programa le devuelve. (C099)

Si el usuario A graba después de 3 minutos, se genera el nuevo registro con el codigo (C099), pero si el usuario B intenta grabar habra un error ya que se repite el código.

Una solución es hacer un método que obtenga el codigo de nuevo y luego inserte el registro. y que si hay error vuelva a buscar otro codigo nuevo.

La pregunta es ¿qué pasaria, teoricamnte, si las dos operaciones se hacen a la misma vez?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top