Bonjour,

Lors d'une requete SQL je récupère un QVariant invalide, voici mon code:

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
17
18
19
20
21
22
23
void DatabaseClass::initNewCodeP(FicheProprietaire *fichepro)
{
     QString S;
 
 
     QSqlQuery q;
     q.prepare("SELECT MAX(codeP) FROM Proprietaire");
     q.exec();
 
     if (q.lastError().isValid()) 
     {
        qDebug() << q.lastError();
     } 
     else 
     {
        qDebug() << "requete correcte";
        QVariant v = q.value (0);
        if (v.type() == QVariant::Invalid)
        {qDebug() << "mauvais type";}
        qDebug() << S.setNum(q.value(0).toInt());
        fichepro->setCodeP(S);
     }
}
voici les debugs générés:
requete correcte
QSqlQuery::value: not positioned on a valid record
mauvais type
QSqlQuery::value: not positioned on a valid record
"0"
Ma requête SQL me semble correcte pourtant, donc tout me laisse penser que c'est la méthode value de QSqlQuery qui m'embête, et je n'ai pas trop compris le fonctionnement de cette méthode dans la doc...

Merci d'avance de votre aide!