Comparaison à partir de la base
Salut tous le monde,
Je travaille sur une application Qt qui interagit avec une base de donnée SQL Server.Je veux comparer entre deux champs récupérés de la base.
Mais toujours il y aura une erreur dans la comparaison.
Lorsque j'affiche les champs dans le console.
Le 1er est affiché correctement.(un entier)
Mais le 2ème est affiché sous une forme héxa je pense. Exemple : lorsque la valeur récupérée est '1', la valeur affichée est '0x6a112f16'.
Voilà une portion de la code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| QSqlQuery query11;
query11.prepare("SELECT Seuil_Min FROM Projet.dbo.Produit WHERE Nom=:nom");
query11.bindValue(":nom", ui->comboBox->currentText());
if (query11.exec() && query11.next()) {
ui->textBrowser->setText(query11.value(0).toString());
qint8 min=query11.value(0).toInt();
QSqlQuery query12;
query12.prepare("SELECT Quantité FROM Projet.dbo.Produit WHERE Nom=:nom");
query12.bindValue(":nom", ui->comboBox->currentText());
if (query12.exec() && query12.next()) {
qint8 qt = query12.value(0).toInt();
qDebug()<< qt;
qDebug()<< min;
}
if(qt <= min){
QMessageBox::warning(this,"Information","Vous avez atteint le seuil minimal de ce produit. Un message d'alerte sera envoyé au système centrale !");
} |
ça sent un prob de pointeur
Salut,
Je suis pas un pro mais ton truc sent le prob de pointeur.
Si tu as une retour du genre "0x1234567" c'est probablement une adresse mémoire et non pas le contenu d'une variable.
si tu mets qDebug()<< &qt; au lieu de qDebug()<< qt; qu'est-ce que ça donne ?