Múltiples conexiones a Mysql.



  • Buenos días.
    Estoy mejorando un programa de facturación y TPV y me he quedado bloqueado en un punto en el que lo que quiero hacer es:
    Desde la ficha de los productos poder consultar los stocks de otros puntos de venta. Para ello supongo que debo hacer tantas conexiones como puntos de venta haya y colocarlas cada una en un thread para que no bloquee la aplicación, ok?.
    Los datos de la conexíon los saco de una tabla previamente creada, pero luego no se como darles nombre a esas conexiones para poder manejarlas, es decir, si tuviese 1 lo hago

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL","nombre")
    

    pero al no saber cuantas hay que crear no se como nombrarlas. Seguro que es de primero de programación pero no lo veo.
    Agradezco cualquier idea.


  • Moderators

    Hola

    Si guardas en una tabla los datos de las conexiones, también puedes guardar el nombre que le das a la conexión.

    Una vez las vayas creando puede usar una lista para ir metiéndolas y así poder acceder a ellas fácilmente. Es lo que se me ha ocurrido de momento.

    No sé si será la forma mejor de hacer lo que quieres. ¿De cuantas conexiones hablamos? ¿Los otros puntos de venta donde estarán? Quiero decir, una red local, internet...

    Un saludo



  • Creo que lo entiendo. Voy a probar.
    Para mi son 3 conexiones a traves de internet pero quiero que funcione para un número indefinido de puntos de venta.
    Gracias.


  • Moderators

    Hola

    Otra forma podría ser que tu programa conecte con un servidor y este sea el que maneje los datos.

    Tu programa tendría una base de datos local con lo que necesite para funcionar, pero para estas otras cosas usar un servidor, tu programa subiría al servidor los datos que necesites, y desde las otras instalaciones puedes consultar esos datos.

    Con 3 conexiones prácticamente da igual, pero para muchas o indefinidas, me gusta más esta idea.

    Un saludo


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.