-
Stratégie de connexion
Bonjour,
je suppose que le sujet a été maintes fois abordé mais je n'arrive pas à en faire une synthèse claire.
Je me connecte à une base Mysql. J'ouvre 2 Qdialogs en non-modale contenant chacune une QTableView parcourant 2 tables différentes de la base dans le même thread (principal).
Quelle stratégie engager ? Une connexion indépendante dans chaque QDialog (donc 2), un QSQLDatabase::clone, une connexion partagée dans une classe spécialement dédiée à l'accès à cette base -si c'est possible- un peu comme un SQLDataModule en Pascal ?
Merci.
-
Salut,
Ben, tu fais au plus simple :
- tu demandes à l'utilisateur d'introduire les informations de connexion (typiquement : login et mot de passe)
- tu crées une connexion à la base de données avec ces informations
- tu transmet la connexion "à qui en a besoin" (typiquement, une classe qui s'occupe de récupérer le résultat des requêtes)
- tu transmet les données récupérées au travers des différentes requêtes (typiquement, quelque chose sans doute dérivé de QAbstractModel) aux fenêtres qui en ont besoin(typiquement avec la fonction setModel)
- Le tour est joué ;)
Vu que tout se fait dans le même thread, tu effectue la première requete et tu envoie le modèle à la première fenêtre, puis tu effectue la deuxième et tu envoie le modèle à la deuxième ;)