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 :

Alimenter DBgrid avec requete SQL ? [Non suivi]


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 24
    Par défaut Alimenter DBgrid avec requete SQL ?
    Salut les amis!!
    Bon voila je suis un peu un novice en c++ builder et voila je voulais savoir comment fait on pour alimenter a partir d'une requete un DBgrid??
    Voila le debut de mon code mais apres je ne sais pas comment faire et j'ai fait des recherche sur le net mais rien.

    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
    void __fastcall TForm3::Button5Click(TObject *Sender)
    {
      MYSQL_RES *myRES;
      MYSQL_ROW myROW; 
      AnsiString aStr,aStr2;
      ComboBox1->Items->Clear();
        
        if (!mysql_query(conn1, "select id_enclos from enclos")) {
           myRES = mysql_store_result(conn1);
         
            if (myRES) {
              for(unsigned int i = 0; i < myRES->row_count; i++) {
                 myROW = mysql_fetch_row(myRES);
                    aStr = myROW[0];
                    DBGrid1->????????
             }
            mysql_free_result(myRES);
        }
     }
    }
    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
    Citation Envoyé par La_Bande_A_Zozo
    Salut les amis!!
    Bon voila je suis un peu un novice en c++ builder et voila je voulais savoir comment fait on pour alimenter a partir d'une requete un DBgrid??
    Voila le debut de mon code mais apres je ne sais pas comment faire et j'ai fait des recherche sur le net mais rien.

    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
    void __fastcall TForm3::Button5Click(TObject *Sender)
    {
      MYSQL_RES *myRES;
      MYSQL_ROW myROW; 
      AnsiString aStr,aStr2;
      ComboBox1->Items->Clear();
        
        if (!mysql_query(conn1, "select id_enclos from enclos")) {
           myRES = mysql_store_result(conn1);
         
            if (myRES) {
              for(unsigned int i = 0; i < myRES->row_count; i++) {
                 myROW = mysql_fetch_row(myRES);
                    aStr = myROW[0];
                    DBGrid1->????????
             }
            mysql_free_result(myRES);
        }
     }
    }
    Merci par avance
    Quels sont les composants que tu utilisent pour te connecter à ta base ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 24
    Par défaut
    Citation Envoyé par pottiez
    Quels sont les composants que tu utilisent pour te connecter à ta base ?
    j'utilise cette methose mais j'ai pas de pb de connection sur mysql c'est vraiment l'utilisation en soit du DBgrid qui me pose pb!!
    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
     
       getch();
        host        = "localhost"; //localhost
        user        = "root"; //mon login
        passwd      = NULL; //je n'ai pas de mot de passe (pas bien :) )
        db          = "Familles"; //ma base de données se nomme Familles
        port        = 3306; //mon serveur est sur le port par défaut.
        unix_socket = NULL; //je spécifie à mysql de se débrouiller tout seul.
        //initialisation de la connection
        if((conn = mysql_init(NULL))==NULL)
        {
         cout<<"Memoire insuffisante pour allouer une poignée de connection mysql"<<endl;
            exit(-1);
        }
        else 
        {
            // cout<<"Calcul de la memoire necessaire"<<endl;
             }
     
        //connection sur le serveur
        if((erreur=mysql_real_connect(conn,host,user,passwd,db,port,unix_socket,client_flag))==NULL)
        {
           // cout<<"la connection sur le serveur a échoué !"<<endl;
            //cout<<"cause : "<<mysql_error(conn)<<endl;
     
            exit(1);
        }
            else 
        {
            //cout<<"connexion serveur reussie"<<endl;
            }
     
    //testRequete(conn);
    //createSalle(conn);
    //createCategoriePlace(conn);
    //createcategorie();
    getch();
     
        //déconnection du serveur
        mysql_close(conn);
        exit(0);

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 24
    Par défaut
    Citation Envoyé par La_Bande_A_Zozo
    j'utilise cette methose mais j'ai pas de pb de connection sur mysql c'est vraiment l'utilisation en soit du DBgrid qui me pose pb!!
    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
     
       getch();
        host        = "localhost"; //localhost
        user        = "root"; //mon login
        passwd      = NULL; //je n'ai pas de mot de passe (pas bien :) )
        db          = "Familles"; //ma base de données se nomme Familles
        port        = 3306; //mon serveur est sur le port par défaut.
        unix_socket = NULL; //je spécifie à mysql de se débrouiller tout seul.
        //initialisation de la connection
        if((conn = mysql_init(NULL))==NULL)
        {
         cout<<"Memoire insuffisante pour allouer une poignée de connection mysql"<<endl;
            exit(-1);
        }
        else 
        {
            // cout<<"Calcul de la memoire necessaire"<<endl;
             }
     
        //connection sur le serveur
        if((erreur=mysql_real_connect(conn,host,user,passwd,db,port,unix_socket,client_flag))==NULL)
        {
           // cout<<"la connection sur le serveur a échoué !"<<endl;
            //cout<<"cause : "<<mysql_error(conn)<<endl;
     
            exit(1);
        }
            else 
        {
            //cout<<"connexion serveur reussie"<<endl;
            }
     
    //testRequete(conn);
    //createSalle(conn);
    //createCategoriePlace(conn);
    //createcategorie();
    getch();
     
        //déconnection du serveur
        mysql_close(conn);
        exit(0);
    je suis toujours coincé est ce que une personne a la solution a ce ptit probleme??
    Merci

  5. #5
    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,

    J'ai regardé un peu certains sujet passés, par ex :
    http://www.developpez.net/forums/sho...ighlight=mysql
    qui renvoie ici:
    http://www.developpez.com/upload/ric...page=cas_natif

    Dans ce deuxième lien, il y a l'explication pour paramètrer des composants type BDE. Certes l'exemple de ce cas traitait d'une table Access mais il semble que l'on peut paramètrer pour mysql...
    Dans ce cas, si tu utilises les composants du BDE, tu n'as plus qu'a utiliser un TTable relié a un TDataSource, lui même relié au TDBGrid.
    En espérant t'aider,
    @ +

    //
    Dans le code cité en premier, tu tentes de parcourir toutes les enregistrements produits par la requete dans un boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            if (myRES) {
              for(unsigned int i = 0; i < myRES->row_count; i++) {
                 myROW = mysql_fetch_row(myRES);
                    aStr = myROW[0];
                    DBGrid1->????????
             }
    Tu pourrais essayer un affichage dans un TStringGrid, en renseignant les cellules avec qqchose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            if (myRES) 
             {
             for(unsigned int i = 0; i < myRES->row_count; i++) 
             {
                  myROW = mysql_fetch_row(myRES);
                  aStr = myROW[0];
                  StringGrid->Cells[0][i] = aStr;
             }
             }

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 263
    Par défaut alors
    Citation Envoyé par La_Bande_A_Zozo
    Salut les amis!!
    Bon voila je suis un peu un novice en c++ builder et voila je voulais savoir comment fait on pour alimenter a partir d'une requete un DBgrid??
    Voila le debut de mon code mais apres je ne sais pas comment faire et j'ai fait des recherche sur le net mais rien.

    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
    void __fastcall TForm3::Button5Click(TObject *Sender)
    {
      MYSQL_RES *myRES;
      MYSQL_ROW myROW; 
      AnsiString aStr,aStr2;
      ComboBox1->Items->Clear();
        
        if (!mysql_query(conn1, "select id_enclos from enclos")) {
           myRES = mysql_store_result(conn1);
         
            if (myRES) {
              for(unsigned int i = 0; i < myRES->row_count; i++) {
                 myROW = mysql_fetch_row(myRES);
                    aStr = myROW[0];
                    DBGrid1->????????
             }
            mysql_free_result(myRES);
        }
     }
    }
    Merci par avance
    Tu es sur BCB >= 5 ?

    Le composant DBGrid s'utilise à ce que je sache avec un Dataset qui est connecté directement à une source des données Recordset. dans ton code tu te connecte à une base Mysql et tu utilise une syntaxe que j'utilise directement en programmation web.

    C'est là que je me perd, sinon je sais comment alimenter le composant DBGrid avec une requête.
    Il faut pour cela:
    un composant (RecordSet, DataSource,DBGrid)
    configurer comme suite: (Requete->RecordSet->DataSource->DBgrid);
    Si tu as TSQLConnection ou TMydac ce serais très simple.

Discussions similaires

  1. moteur de recherche avec requete sql
    Par hottnikks_79 dans le forum ASP
    Réponses: 4
    Dernier message: 03/08/2006, 03h58
  2. [ACCESS][SQL] Problème avec requete SQL ...
    Par mpascolo dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 09/11/2005, 10h54
  3. Pb avec requete SQL
    Par Naud dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 06/07/2005, 19h13
  4. Pb avec requetes SQL
    Par Furtif_00 dans le forum Bases de données
    Réponses: 15
    Dernier message: 22/03/2004, 20h14
  5. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

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