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 :

Probleme utilisation des DBGrid


Sujet :

C++Builder

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 44
    Points : 14
    Points
    14
    Par défaut Probleme utilisation des DBGrid
    Bonjour, voila j'ai un projet a réaliser sous Builder, je dois me connecter à une base de données et inscrire toutes les valeures de la base dans une DBGrid.

    Pour la connexion il n'y a pas de probleme, j'utilise :
    mysql_init et mysql_real_connect

    cela marche bien mais après je n'arrive pas à utiliser les DBGrid.
    Merci de m'aider .....

    J'ai deja vu pas mal de réponse mais moi j'utilise pas les objets builders, et c'est la ou cela coince. Je crois comprendre qu'il faut indiquer la base de données pour la DBGrid mais bon c'est flou
    Voila c'est pour mon projet en cours merci

  2. #2
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    'lo,
    il y aura forcèment des composants BCB...ta DBGrid est lié à un datasource, lui même lié à un dataset...

    qu'utilise tu pr te connecter à ta DB?

    tchuss
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 44
    Points : 14
    Points
    14
    Par défaut
    Moi j'utilise les fonctions
    mysql_init et mysql_real_connectaprès je suis connecté à la bdd, j'arive à lister mes tables dans des listBox, mais pas dans une DBGrid.
    Voila
    Merci

  4. #4
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    quand tu dis une liste Box, tu veux dire une DBListBox?

    Tu remplis ta list à la main?

    un DBgrid est un composant orienté "données" donc si tu veux l'utiliser tu vas devoir utiliser des datasources/dataset..comme ADO (TTable, TQuery)
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 44
    Points : 14
    Points
    14
    Par défaut
    Nn une listBox, je fais une requete avec mysql_query, et le resultat je le met dans la listBox
    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
    int i;
            char* tables;
            char query[30];
     
            for(i=0;i<30;i++) query[i]=0;
            MYSQL_RES *result_table;
            MYSQL_ROW row_table;
     
     
            MaFeuille->TablesExistantes->Clear();
            strcpy(query,"USE ");
            strcat(query,"station_meteo");
            if(!mysql_query(MaConnexion,query))
            {
                    if(!mysql_query(MaConnexion,"SHOW TABLES"))
                    {
                            result_table = mysql_store_result(MaConnexion);
                            if (result_table)
                            {
     
                                    for(i=0;i<result_table->row_count;i++)
                                    {
                                            row_table = mysql_fetch_row(result_table);
                                            tables = row_table[0];
                                            MaFeuille->TablesExistantes->Items->Add(tables);
                                    }
                            }
                            mysql_free_result(result_table);
     
                    }
            }
     
     
    }

  6. #6
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    OK, d'abord penses à utiliser les balises codes dans tes posts.

    Ensuite, comme je te le disais, dans BCB, il y a un certain nombre de composants orientés "données"...donc le DBGrid fait parti.

    Il ne me semble que pas que tu puisses l'utiliser avec le choix de connection que tu as fait.

    en revanche, avec un StringGrid, tu vas pouvoir fonctionner de la même manière qu'en récupérant tes données.

    A+
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 44
    Points : 14
    Points
    14
    Par défaut
    Ok dsl pour les balises
    Et tu dis qu'avec un StringGrid cela serai possible ??
    J'e n'en ai jamais utilisé encore, comment fait on?

  8. #8
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    ah ben c'est tout simple..le stringGrid c'est un tableau...dont tu manipules les cellules.
    un exemple de code que j'ai sous la main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if (oList->Length != 0)
      {
        SG_Queries->RowCount = oList->Length+1;
        //intitule des colonnes
        for(int k = 0;k < oList->Item(0)->ChildNodes->Length;k++)
           {SG_Queries->Cells[0][0] = oList->Item(0)->Attributes->Item(0)->NodeName;
           SG_Queries->Cells[k+1][0] = oList->Item(0)->ChildNodes->Item(k)->NodeName;}
        //valeurs des noeuds
        for(int i = 0;i < oList->Length;i++)
        {SG_Queries->Cells[0][i+1] = oList->Item(i)->Attributes->Item(0)->NodeValue;
          for(int j = 0;j < oList->Item(i)->ChildNodes->Length;j++)
           SG_Queries->Cells[j+1][i+1] = oList->Item(i)->ChildNodes->Item(j)->FirstChild->NodeValue;
        }
      }
    mon oList est un arbre XML, y'a plus qu'à remplacer..enfin ça devrait t'aider.

    A+

    EDIT : SG_Queries...c'est mon StringGrid
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

Discussions similaires

  1. Probleme d'utilisation des sockets avec Swing
    Par tuxman dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 09/11/2008, 11h57
  2. Utilisation des true DbGrid
    Par gibea00 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 14/08/2007, 16h48
  3. Réponses: 2
    Dernier message: 04/08/2007, 19h26
  4. Réponses: 4
    Dernier message: 28/05/2006, 22h11
  5. Réponses: 3
    Dernier message: 11/05/2006, 22h53

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