Errores Ado

Primero quería agradecer tu participación en este tipo de foros. Estoy comenzando a programar en visual basic. He realizado un programa multiusuario con una base de datos en access 97. Tengo problemas cuando dos usuarios invocan el evento update al mismo tiempo. Esta situación se produce con bastante frecuencia. La propiedad locktype del recordset que utilizo es adlockoptimistic y la del cursortype es adopenkeyset. La version de ado es la 2.1. ¿Conoces alguna forma de conseguir que se actualicen o bien de controlar los errores? Gracias por suscribirte a este foro y por atender las molestias que te haya podido causar.

1 respuesta

Respuesta
1
Tengo muy poca experiencia con ADO, así que no puedo ayudarte mucho.
De todas formas me sorprende un poco lo que dices de que tengas tantos conflictos. Lo primero que habría que saber es cómo está actuando el programa. La programación de una aplicación debe ser un tanto cuidadosa cuando se va a utilizar en modo multiusuario y se prevén muchas concurrecias.
Como ejemplo de esto, cuando se da el alta de un nuevo registro, no se debe hacer un "AddNew", esperar a que el usuario haya tecleado todos los datos, y cuando acepta, ejecutar el "Update". Esto bloquea la tabla durante un tiempo enorme. Es mucho mejor hacer el "AddNew" e inmediatamente grabar el nuevo registro con los datos en blanco o con los valores que pueda haber por defecto, haciendo un "Update". La introducción de todos los datos hasa completar el alta, es realmente una actualización, que empieza en un "Edit" y acaba en un "Update"
Evidentemente te estoy hablando en términos DAO que es lo que conozco. Supongo que en ADO habrá algo equivalente o incluso mucho mejor, pero mirate bien el tema por este camino, porque precisamente con estas técnicas no he tenido nunca problemas con DAO y no es lógico que aparezcan con algo mejor
Muchas gracias por tu respuesta tan rápida. El evento Update que es el que bloquea la conexión lo realizo en el último momento, al aceptar el alta o al modificar parámetros. Intentaré averiguar cual es el problema y ya te informaré.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas