Bonjour à tous,
J'ai un gros soucis, je ne trouve pas comment faire pour réaliser une requête avec un nombres de paramètres variables.
Pour le moment j'arrive à faire une requête avec des variables :
Mais je ne sais pas comment faire lorsque mon nombre de variable est variable !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part model -> setFilter(QString("Colonne1 LIKE '%1' AND Colonne2 LIKE '%2'").arg(Var1).arg(Var2));
Merci pour vos lumières
Dans d'autre termes, comment faire une sous requete avec qt ?
Je pense que ce n'est pas possible avec setfilter donc je m'oriente vers une requete SQL faite dans qt du genre :
Reste à savoir comment lui passer la liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 QSqlQuery query; query = "SELECT FROM Pieces WHERE id IN :List"
Bon j'arrive à executer ma requete mais pour afficher le résultat dans un Qtableview ça marche pas car le setQuery ne peut pas etre utilsé sur un Qtablemodel
J'y suis arrivé, voilà ma solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 for (int i = 0; i < qli_Models.size(); i++) { modelPieces -> setFilter(QString("FKidDispositifs = '%1' AND FKidCatalogues LIKE '%2'").arg(qs_Device).arg(qli_Models.value(i))); modelPieces -> sort(i_IODatesPieces, Qt::DescendingOrder); if (i != qli_Models.size() - 1) { qs_Filter.append(QString("idPieces = " + QString::number(modelPieces -> record(0).value(i_IOidPieces).toInt()) + " OR ")); } else { qs_Filter.append(QString("idPieces = " + QString::number(modelPieces -> record(0).value(i_IOidPieces).toInt()))); } } // Filtre avec un nombre variable de variable modelPieces -> setFilter(QString(qs_Filter));
Partager