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?
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?