Bonjour,

J'ai des problèmes avec numRowsAffected et Size pour ma base de données SQLite (numRowAffected à un comportement erratique et Size me retournant quoi qu'il arrivent -1 ).

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
void OpenFiche::recherche()
{
       listToReturn.clear();
//premier état: fiche pro checked
     if(radiobouton->isChecked())
     {
          if(combobox->currentText() == "Par son code" && ligne->text() != NULL)
          {
              qDebug() <<"fiche propri par son code";
              listToReturn = recupValuePropriByCode(); //méthode en question
              readyForReturn = true;
              this->close();
 
          }
   ...
voici la méthode où j'utilise numRowsAffected ou size

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
24
25
26
27
28
29
30
31
32
QList<QString> OpenFiche::recupValuePropriByCode()
{
     QList<QString> list;
 
     QSqlQuery q;
     q.prepare("SELECT codeP, civilite, nomPropri, prenomPropri, dateNaissancePropri, "
                      "lieuNaissancePropri, nationalite, adressePropri, CPPropri, "
                      "villePropri, telDomPropri, telBurPropri, telPorPropri, mailPropri, tauxHonoraireHT, "
                      "assiette, periodeReglement, numMandat, entreLe, sortiLe, dernierRapportArreteLe, reglement, montantAcompte, "
                      "perioAcompte, dateDernierAcompte, montantDernierAcompte, banque, villeBanque, "
                      "codeBanque, codeGuichet, numCompte, cleRIB "
               "FROM Proprietaire "
               "WHERE codeP=:codeP");
     q.bindValue(":codeP", ligne->text().toInt());
     qDebug() <<ligne->text().toInt();
 
     if(!q.exec())
          qDebug(qPrintable(q.lastError().text()));
     else
     {
          qDebug() <<"La requete a sortie " << q.size() <<" ligne(s)"; //ici !
 
          while(q.next())
          {
              for(int i=0; i<31; i++)
              {
                  list.append(q.value(i).toString());
              }
          }
     }
    return list;     
}