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++Builder Discussion :

Problème affichage d'un DBGrid


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut Problème affichage d'un DBGrid
    Bonjour à tous !

    voila d'abord la base de mon programme :

    - base de données Mysql
    - C++ Builder 5


    J'ai une classe appelée TDatamodule, qui comprends les composants TDatabase, TQuery et TTable, afin de pouvoir communiquer avec ma bdd.
    Cette classe je l'instancie quand je fais une requête vers ma base.

    J'ai sur une Form, un DBgrid, sur lequel figure 2 colonnes, Col1 et Col2, chacune correspondant normalement, à un champ d'une table de ma bdd.

    Sur cette Form, j'ai ajouté un composant TDatasource, qui a pour DataSet, le Tquery qui fait parti de mon TDatamodule (DataModule1->Query).
    Le DBGrid a pour valeur de DataSource, celui que j'ai mis sur ma Form.

    Donc logiquement, je pense avoir bien paramétré mes composants, chacun étant lié avec le bon.

    Dans mon code, j'ai essayé de faire ceci dans un premier temps pour voir comment marche le dbgrid:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DataModule1->Query->SQL->Text =  "SELECT RefJeux FROM tjeux";
    DataModule1->Query->Open();
    DBGrid->DataSource->DataSet->Open();
    Donc dès que j'ouvre ma Form, je vois bien le DBGrid qui se retrouve avec un nombre de lignes correspondant au nombres d'enregistrement dans ma table, sauf que les cases sont toutes vierges...rien ne s'affiche.

    Alors je pense avoir omis de dire que la colonne 1 est le champ 1 de ma table1 etc...
    ou alors je me suis trompé autre part...

    pouvez vous m'aider plz?

    merci par avance,

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Je croit que c'est la propriété Fields du TDBGrid, mais je n'en suis pas sur, regarde dans l'aide pour savoir exactement à quoi ça sert

  3. #3
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,

    QQ problèmes a priori:
    . Je ne vois pas trop a quoi sert le :
    DBGrid->DataSource->DataSet->Open();
    Si le DBGrid est bien relié au TQuery, et que celui ci recoit bien un 'Open()' (ou Active = true, de mémoire, pas besoin de cette ligne a mon avis).

    Il semble que tu aies plusieurs Columns dans ta DBGrid, mais l'exemple de requete donné ne semble porter que sur un champs ('RefJeux'), mais peut être n'est ce qu'une erreur de rédaction du sujet en qq sorte (?).

    Comme le suggère pottiez, il y a qqchose a 'checker' du côté des fields du DBGrid:
    . par ex, est ce que chaque TColumn (de la propriété Colums (TDBGridColumns) de ta grille) a bien une valeur pour sa propriété 'FieldName' ?
    Que ce soit de manière statique (via l'inspecteur d'objet) ou dynamique (via le code), il me semble que si tu as commencé a renseigner cette propriété du DBGrid, tu dois le faire jusqu'au bout (en qqsorte).

    En espérant t'aider,
    @+

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 362
    Par défaut
    bon eh bien, la solution était sous mon nez, et vous aviez raison, dans la partie Field, il faut renseigner les champs de ma table sur chaque colonne.

    Donc maintenant ca fonctionne !

    Merci pour votre aide, ca ma bien servis!

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

Discussions similaires

  1. Bonjour Problème affichage DBgrid
    Par Balfrog dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/06/2007, 02h10
  2. Problème d'affichage dans la DBGrid
    Par Xjoker dans le forum C++Builder
    Réponses: 7
    Dernier message: 23/03/2006, 09h17
  3. [DOS] Problème affichage de DOS dans un Memo
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 25/06/2004, 13h31
  4. Affichage ds une DBGrid
    Par TieumB dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/01/2004, 16h52
  5. Toujours un problème de rafraichissement de DBGrid
    Par tripper.dim dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/12/2002, 13h15

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