IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

modification d'une suite de lignes avec donnees differentes


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Haïti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 13
    Par défaut modification d'une suite de lignes avec donnees differentes
    pourriez vous m'aider svp. j'aimerais modifier toutes les lignes d'une colonne de ma bdd avec une boucle. apres chaque lancement il n'y a que le premier boucle qui s'affiche et s'arrete. c++ qt gui. 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    void Database::messageup()
        {
          if (!open_data())
              {
          qWarning()<<"Echec de la connexion"<<mydb.lastError().text();
              }
     
         int balance;
          QString nom,prenom;
     
           open_data();
           QSqlQuery query;
          query.exec("SELECT Name,Lastname FROM firstgrade order by Name,Lastname");
     
          if(!query.exec())
              {
             QMessageBox::critical(this,tr("error::"),query.lastError().text());
             close_data();
                 }
     
          else
         {
              while(query.next())
              {
                nom = query.value(0).toString();
                prenom = query.value(1).toString();
              balance=QInputDialog::getInt(this,"Saisie","Entrer la balance de : "+nom+" "+prenom);
     
              query.prepare("UPDATE firstgrade set Balance=(:credit) where Name=(:name) and Lastname=(:last)");
              query.bindValue(":credit",balance);
              query.bindValue(":name",nom);
              query.bindValue(":last",prenom);
     
                   if(!query.exec())
                    {
                   QMessageBox::critical(this,tr("error::"),query.lastError().text());
                    }  
     // ending while
      QMessageBox::information(this,"Succes","Always");
      close_data();
         } // ending else
     
    } // ending function

  2. #2
    Membre Expert Avatar de ed73170
    Homme Profil pro
    Développeur indépendant
    Inscrit en
    Mai 2009
    Messages
    765
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur indépendant

    Informations forums :
    Inscription : Mai 2009
    Messages : 765
    Par défaut
    Bonjour,

    Je ne connais pas QT mais quelque chose me semble curieux dans ton code : Tu utilises le même QSqlQuery pour la lecture et pour l'update, il me paraît donc logique qu'après le premier update, query.next() ne renvoie plus rien puisqu'il ne connaît plus la requête initiale. A ta place j'essaierai avec 2 variables, une pour la lecture sur laquelle tu itères et une pour la mise à jour.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Haïti

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 13
    Par défaut
    Merci beaucoup t'as exactement raison.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tutoriel sur comment créer une boutique en ligne avec Shopify
    Par flobmxstreet dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 26/01/2018, 15h57
  2. [XL-2007] modification macro pour rajout de ligne avec formule
    Par exelan dans le forum Excel
    Réponses: 3
    Dernier message: 27/05/2014, 14h45
  3. lire une selection de ligne avec bash
    Par s_abel dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 20/03/2009, 14h12
  4. Selection d'une suite de cellules avec cells
    Par olivier857 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/12/2006, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo