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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
bool Appareil::teste_donnees(QString a, QString b, QString c, int d)
{
//recupérer la valeur contenue dans la base de données
QSqlQuery request;
request.exec("SELECT * FROM appareil;");
while(request.next())
{
m_new_id = request.value(0).toInt();
m_marque = request.value(1).toString();
m_modele = request.value(2).toString();
m_etat = request.value(3).toString();
m_prix = request.value(4).toInt();
m_new_qte = champ_quantite->value();
m_new_qte += request.value(6).toInt();
//voici l'ordre des index dans la table appareil: id, marque, modele, etat, prix, num_serie, quantite, descriptif, apercu
}
if(m_marque == a && m_modele == b && m_etat == c && m_prix == d)
return true;
else
return false;
}
void Appareil::modifier_quantite(int new_quantite, int id)
{
QSqlQuery request;
request.prepare("UPDATE appareil SET quantite = :qte WHERE id = :id;");
request.bindValue(":qte", new_quantite);
request.bindValue(":id", id);
request.exec();
}
void Appareil::ajouter()
{
//modele_appareil();
QString marque_t = champ_marque->text();
QString modele_t = champ_modele->text();
QString etat_t = combo_etat->currentText();
int prix_t = champ_prix->value();
QString num_serie_t = champ_num_serie->text();
int quantite_t = champ_quantite->value();
QString description_t = champ_descriptif->toPlainText();
QString apercu_t = champ_apercu->text();
while(marque_t.isEmpty() || modele_t.isEmpty() || num_serie_t.isEmpty() ||
description_t.isEmpty())
{
QMessageBox::warning(this, "Erreur champ vide", "Veuillez renseigner absolument"
" tous les champs");
return;
}
if(teste_donnees(marque_t, modele_t, etat_t, prix_t))
{
modifier_quantite(m_new_qte, m_new_id);
}
else
{
QString req = "INSERT INTO appareil (marque, modele, etat, prix, "
" num_serie, quantite, descriptif, "
"apercu) VALUES(:marque, :modele, :etat, :prix, :num_serie, "
":quantite, :descriptif, :apercu);";
QSqlQuery requete;
(requete.prepare(req)) ? qDebug()<<"prepare ok" : qDebug()<<requete.lastError().text();
requete.bindValue(":marque", marque_t);
requete.bindValue(":modele", modele_t);
requete.bindValue(":etat", etat_t);
requete.bindValue(":prix", prix_t);
requete.bindValue(":num_serie", num_serie_t);
requete.bindValue(":quantite", quantite_t);
requete.bindValue(":descriptif", description_t);
requete.bindValue(":apercu", getNameFile());
requete.exec();
clean_champ();
QMessageBox::information(this, "Bravo !", "Les données sur le modèle <strong>" + modele_t + "</strong> ont bien été enregistré dans la"
" la marque <strong>" + marque_t + "</strong>");
}
} |
Partager