8
« en: Agosto 04, 2017, 10:40:06 am »
¡Hola!
Estoy teniendo algunos problemas con MySQL.
Tengo un sistema desarrollado en VB6 que corre en diferentes terminales y se conectan a una base de datos MySQL que está en una pc que hace de servidor.
Un usuario del sistema da de alta una venta, que inserta un registro en la tabla "ventas" y uno o varios en la tabla "detalleventa". La relación de ambas tablas es ventas.id = detalleventa.id_venta.
En general, todo va bien, pero a veces se da la siguiente situación:
Un usuario del sistema da de alta una venta normalmente. Luego, otro usuario del sistema da de alta otra venta. En esta segunda venta el registro en "ventas" se inserta correctamente, pero el registro de la tabla "detalleventa" se inserta con los datos de la venta anterior y no con los de la venta actual, con lo que, luego, al buscar la segunda venta, no se encuentra el detalle.
Ejemplo concreto:
Venta 1: un producto de 10 pesos.
Se insertan los siguientes registros:
Tabla "ventas":
id fecha
1 2017-08-04
Tabla "detalleventas"
id id_venta importe
1 1 10
Venta 2: un producto de 20 pesos.
Se insertan los siguientes registros:
Tabla "ventas":
id fecha
2 2017-08-04
Tabla "detalleventas"
id id_venta importe
2 1 10
Aquí se insertó en "detalleventas" nuevamente el registro de la venta anterior y no el de la venta actual.
Debiera ser así:
Tabla "detalleventas"
id id_venta importe
2 2 20
No sé por qué (no recuerdo si tenía una razón, realmente) en cada terminal donde se usa el sistema el usuario del sistema se conecta al servidor MySQL con el mismo usuario de MySQL. Quiero decir que los usuarios "Juan", "Pedro" y "Roberto", que tienen usuarios y claves diferentes para ingresar en el sistema, se conectan al servidor con el usuario "Usuario 1".
¿Será ese el motivo? ¿Debo hacer un usuario MySQL para cada usuario del sistema?
A lo mejor es una burrada lo que hice, pero hasta ahora no estaba teniendo problemas. No sé si se da ahora porque el servidor esté un poco más lento, o porque haya más usuarios conectados simultáneamente (alrededor de 10).
¿Se les ocurre qué puede ser?
¡Muchas gracias!
Jerónimo