Hola amigos.
Estoy haciendo un programa en Visual Basic.Net que se comunica con una base de datos remota MySQL que tengo en una página web. La aplicación es un punto de venta de accesorios de móviles. Cada vez que la dependienta vende un artículo, actualizo la base de datos restando 1 al Stock existente de ese artículo.
El programa en Visual Basic, al arrancar por las mañanas, abre la base de datos y lee el Stock que hay de cada artículo y lo indica para que la dependiente sepa cuanto stock queda de cada artículo. Y cada vez que un cliente entra al comercio y hace una compra, debo restar una unidad del Stock, entonces mi duda es como hacerlo:
1. Por la mañana a las 9 de la mañana abro la base de datos, me conecto y ¿la dejo todo el día abierta? De forma que cada que vez que haya una compra no tengo que volver a abrirla, solo hago un acceso con "Update" y resto "-1" del Stock de ese artículo.
2. Por la mañana abro la Base de Datos, leo el Stock y la cierro. En Visual Basic.Net hay una forma de traerte la base de datos en local y trabajar con sus datos sin estar conectado. Luego al final del día, cuando la dependienta vaya a cerrar el ordenador, justo antes me conecto de nuevo a la Base de Datos, hago un único "Update" y automáticamente se actualiza todos los movimientos que haya hecho durante el día.
¿Cuál sería la mejor forma? A mí me gusta más la primera porque así siempre tengo la Base de Datos actualizada pero,
¿Es incorrecto tener la base de datos todo el día conectada? ¿Puede haber algún problema? ¿algún punto negativo a esta opción?
¿Si elijo la segunda opción, que pasa si justo al final del día cuando voy a ir a actualizar mi Base de Datos, en ese momento me da un error o no puedo conectar...? ¿Pierdo todo?. Por otro lado con esta opción no hago continuos accesos a la Base de Datos, hago solo uno al final.
No sé como debería hacerlo, ¿alguien me puede aconsejar?
Muchas gracias por adelantado.
Un saludo,