Problème avec une requette QSQlite
Fermé
Mourad2009B
Messages postés
108
Date d'inscription
lundi 23 août 2010
Statut
Membre
Dernière intervention
28 octobre 2024
-
4 févr. 2014 à 12:22
Mourad2009B Messages postés 108 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 28 octobre 2024 - 7 févr. 2014 à 14:57
Mourad2009B Messages postés 108 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 28 octobre 2024 - 7 févr. 2014 à 14:57
A voir également:
- Roxane cherche des informations pour écrire un rapport sur la jeunesse. avec un moteur de recherche généraliste, elle souhaite limiter les résultats de sa recherche aux pages de l’organisation internationale du travail. quelle requête doit-elle taper dans le champ de recherche ?
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Évariste souhaite télécharger le logiciel inkscape depuis le site de son éditeur. sélectionnez le résultat de recherche sur lequel il doit cliquer. - Forum Bugs et suggestions
- Google moteur de recherche page d'accueil - Guide
2 réponses
sambia39
Messages postés
610
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
9 février 2023
49
6 févr. 2014 à 00:23
6 févr. 2014 à 00:23
Bonsoir, franchement je n'ai pas toute lue ton code, essayer de les postés dans des balises correctes qui sont mises à ta disposition
Mourad2009B
Messages postés
108
Date d'inscription
lundi 23 août 2010
Statut
Membre
Dernière intervention
28 octobre 2024
7 févr. 2014 à 14:57
7 févr. 2014 à 14:57
Bonjour à tous, merci pour vos réponse. voila mon problème. et désolé pour le retard j'ai pas internet à la maison.
Voila j'ai un gros problème au quel je ne trouve pas de solution, depuis 2 jours, et je peux vous garantir que j'ai tout essayé.
Je travaille Avec Qt et C++, sous l'IDE QTCreator.
j'utilise QSQLite comme moteur de base de données,
j'ai une table Client qui contient les champs suivants
une table Facture qui contient les champs suivants
une table composant qui contient les champs suivants
une table produit_avec_reference qui contient les champs suivants
et quand je fait une requette de ce genre
QSqlQuery query (db) ; //Ma base de données est déclarée avant, et il n' y a aucun problème avec ça.
On se qui concerne la table client et la table facture il n' y a aucun problème vu que un seul client corespond à une seule facture, par contre comme il y a 3 composants de la table composant qui appartiennent à la facture 1 (1000001) et comme il y a 3 produits de la table produit_avec_reference qui appartiennent à la facture 1 (1000001) aussi.
Alors quand je lance ma requette
Et là je me retrouve avec 9 valeurs au lieu de 3 comme j'en ai que trois composants
et de même pour :
QList malisteDesproduits ;
Pour recupérer que les produit avec référence pour les mettre dans une liste
Je n'arrive pas à comprendre pourquoi
Merci d'avance pour votre aide
Voila j'ai un gros problème au quel je ne trouve pas de solution, depuis 2 jours, et je peux vous garantir que j'ai tout essayé.
Je travaille Avec Qt et C++, sous l'IDE QTCreator.
j'utilise QSQLite comme moteur de base de données,
j'ai une table Client qui contient les champs suivants
id nom prenom adresse 1 nom1 prenom1 adresse1 2 nom2 prenom2 adresse2 3 nom3 prenom3 adresse3 4 nom4 prenom4 adresse4
une table Facture qui contient les champs suivants
id id_client date numero_facture 1 1 11/12/2013 1000001 2 2 12/12/2013 1000002 3 3 13/12/2013 1000003 4 4 14/12/2013 1000004
une table composant qui contient les champs suivants
id designation_composant prix numero_facture 1 composant 1 154 1000001 2 composant 2 254 1000001 3 composant 3 541 1000001 4 composant 4 658 1000004
une table produit_avec_reference qui contient les champs suivants
id designation_produit prix numero_facture 1 produit 1 154 1000001 2 produit 2 254 1000001 3 produit 3 541 1000001 4 produit 4 658 1000004
et quand je fait une requette de ce genre
QString requetteDeSelection = QString("SELECT * FROM Facture LEFT JOIN Client ON Facture.numero_facture = Client.numero_facture LEFT JOIN composant ON Facture.numero_facture = composant.numero_facture LEFT JOIN produit_avec_reference ON Facture.numero_facture = produit_avec_reference.numero_facture")
QSqlQuery query (db) ; //Ma base de données est déclarée avant, et il n' y a aucun problème avec ça.
On se qui concerne la table client et la table facture il n' y a aucun problème vu que un seul client corespond à une seule facture, par contre comme il y a 3 composants de la table composant qui appartiennent à la facture 1 (1000001) et comme il y a 3 produits de la table produit_avec_reference qui appartiennent à la facture 1 (1000001) aussi.
Alors quand je lance ma requette
if(!query.exec(requetteDeSelectionTotal)) { QMessageBox::warning(this, stringAttention,QString(tr("La requette de seléction n'a pas été éxécutée") + query.lastError().text())); return; } QList malisteDesComposants ; Pour recupérer que les composant pour les mettre dans une liste While(query.next()) { malisteDesComposants.append(query.value(9).toString()) }
Et là je me retrouve avec 9 valeurs au lieu de 3 comme j'en ai que trois composants
et de même pour :
QList malisteDesproduits ;
Pour recupérer que les produit avec référence pour les mettre dans une liste
While(query.next()) { malisteDesComposants.append(query.value(13).toString()) }
Je n'arrive pas à comprendre pourquoi
Merci d'avance pour votre aide