salut tout le monde,
je cherche dans plusieurs forum et tutoriels pour trouver une solution a mon problème mais je n'arrive pas .en effet, je développe un widget avec qtcreator et j'ai réussi a faire la connexion a la base de donnés sqlite et je veux faire au premier clic sur un bouton l'ajout d' une valeur dans la base de donnés et et son affiche dans qlabel puis au deuxième clic j'incrémente la première avec une valeur précise exemple 10 et l'ajouter dans la base et l'afficher à la place de la première et ce processus se répète plusieurs fois jusqu'à l'utilisateur arrête de cliquer et alors le code que je fais me permet d' ajouter seulement la première valeur (11) a chaque clic .
je fais un slot dans la classe Fntre.h
public slots:
void insertion(); //cette qui permet d ' insérer les valeurs dans la base de donnés et l afficher dans qlabel
et dans le constructeur
ballum = new QPushButton("Ajouter", this);
connect(ballum, SIGNAL( clicked() ), this, SLOT(insertion()));
et voici le code de slot insertion()
void Fntre::insertion( )
{
if(!d_db.open())
{
QMessageBox::critical(this, "Erreur base de données",
d_db.lastError().text());// d_db c est la base de donnés déclaré dans la classe Fntre
return;
}
QSqlQuery query;
float nbr ;
nbr = 11;
query.prepare("INSERT INTO fumeur (nbr_cigr) VALUES (:nbr)");
query.addBindValue(nbr);
if(!query.exec())
{
QMessageBox::critical(this, "Erreur requête",query.lastError().text());
} else
{
query.exec("SELECT * FROM fumeur");
while(query.next())
{
float id = query.value(0).toFloat();
lab10->setText(" Acide cyanhydrique: "+QString::number(id)+"milligrammes " );
nbr+=10;
}
}
j’espère que vous m'aidez parce que je suis bloquée ici et je ne peux pas avancer et merci d 'avance