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

Bases de données Discussion :

Afficher les données d'une table


Sujet :

Bases de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Afficher les données d'une table
    Bonjour,
    Après de nombreuses recherches un peu partout et après avoir bien regardé dans la documentation, je m'en remets à vous en espérant que vous pourrez m'aider...

    Alors, je cherche à afficher les données, champ par champ dans mon application (à partir d'une base de donnée SQL). Donc, j'ai créer la base de données et ai inséré les valeurs dedans:

    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
     
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
        db.setHostName("localhost");
        db.setDatabaseName("test.db");
        db.setUserName("root");
        db.setPassword("");
        if(!db.open())
        {
             QMessageBox::critical(this, "Erreur", "Erreur de connexion à la bdd.");
        } else {
             QSqlQuery query;
              query.exec("create table questions (id int primary key, "
                                         "question varchar(50), "
                                         "rep int)");
              query.exec("insert into questions values(0, 'Quel âge avez-vous ?', '1')");
     
     
             QMessageBox::information(this, "Connexion réussie", "La connexion avec la base de donnée s'est bien déroulée !");
        }
    Je souhaiterai afficher la valeur du champ "questions" sous forme de "texte" (comme avec un QLabel)... mais je n'y arrive décidément pas .

    Je tiens à préciser que je n'ai aucuns problèmes de compilation...

    J'espère que vous réussirez à m'aider .

    Merci d'avance

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Août 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 41
    Points : 47
    Points
    47
    Par défaut
    Salut,

    Il y a deux méthodes pour ça:
    - si tu connais bien le langage SQL tu devrais pouvoir tout faire avec des QSqlQuery (je crois).
    - L'autre méthode c'est d'utiliser les classes fournies par Qt, où tu n'aura pas besoin d'écrire quoi que ce soit en langage SQL (sauf peut être la création de table, j'ai pas réussi a faire autrement...)

    Le langage SQL je connais pas trop, donc j'utilise la deuxième méthode:
    Après avoir déclarer sql_table_model et ton_label dans header,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    sql_table_model = new QSqlTableModel(this);
    sql_table_model->setTable("questions");
    sql_table_model->setEditStrategy(QSqlTableModel::OnFieldChange); // optionnel, si tu veut que ta base de données soit mise à jour dès que tu insere / modifier / supprime un record
    sql_table_model->select();
    QSqlRecord sql_record; //un record c'est une entrée dans ta base de donnée, tu peut les lire mais aussi en insérer, modifer ou supprimer
    sql_record = sql_table_model->record(0); // pour selectionner la premiere ligne de ta table
     
    ton_label->setText(sql_record.value("question").toString()); // la methode value extrait la valeur du champ question, mais te le renvoi en QVariant, un format "universel", il faut que tu le remette en QString pour l'afficher dans ton QLabel grace à la méthode toString
    Voilà, on peut surement faire mieux, mais je pense que ça marche. Si tu n'y arrive toujours pas dis le, j'essaierai de faire un exemple complet...

    En espérant que ça puisse t'aider

  3. #3
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Comme tu as commencé à l'écrire, il faut passer par un QLabel* que tu rempliras comme tu le souhaites (selon le résultat de la requête donc).

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

Discussions similaires

  1. Afficher les données d'une table horizontalement
    Par naturel dans le forum ASP.NET
    Réponses: 7
    Dernier message: 19/05/2008, 11h36
  2. [AJAX] Afficher les données d'une table AJAX PHP
    Par tetepro dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/04/2008, 21h59
  3. Réponses: 6
    Dernier message: 05/03/2008, 13h09
  4. [MySQL] afficher les données d'une table mysql
    Par faamugol dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/09/2007, 19h04
  5. [MySQL] afficher les données d'une table
    Par scarecrow1 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/11/2006, 18h07

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