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 :

SQL avec C++ Builder6 [Débutant(e)]


Sujet :

C++Builder

  1. #1
    Membre très actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Par défaut SQL avec C++ Builder6
    Bonjour,

    j'aimerai utiliser une base de donnée SQL avec C++ Builder 6

    J'ai suivi le tutoriel http://lfe.developpez.com/BCBmySQL/

    Mais je suis bloqué au début

    1. Préparer le projet
    1.1. Création d'un nouveau projet

    La première chose est de créer un nouveau projet et de l'enregistrer dans un répértoire.
    Il faut ensuite recopier la DLL libmySQL.dll dans ce répertoire.
    Ensuite, il faut encore recopier le contenu du répértoire <mySQLHome>\Include
    J'utilise WAMP5, qui donne un serveur Apache et une base de donnée SQL, mais je n'ai aucun répertoire Include contenant des sources en C

    Est-ce que quelqu'un aurait ce fameux répertoire ou un lien où le charger.


    Est-ce qu'il existe des choses toutes prètes utilisable sans cela ?( dans la VCL il y a de nombreuses fonctions mais toute me disent qu'elles ne peuvent pas se connecter à la BDD )

    Merci d'avance de vos réponses.

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Par défaut
    La documentation que tu as sous les yeux, ne te permet pas d'utiliser MySQL via DBExpress.

    De part cette impossibilité, tu devras employer MySQL via des fonctions de l'API de MySQL, style mysql_connection, etc...

    Par contre, je suppose qu'il existe des composants dbexpress fournit avec BCB, qui te permettront de jouer avec Oracle, Sql Server, DB2, etc... à l'aide de l'objet TSQLConnection & TSQLQuery.

    A toi de t'amuser maintenant.

  3. #3
    Membre très actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Par défaut
    Citation Envoyé par swirtel Voir le message
    La documentation que tu as sous les yeux, ne te permet pas d'utiliser MySQL via DBExpress.
    D'accord. En fait lorsque j'ai vu que j'étais bloqué car pas de répertoire include, j'ai essayé d'utiliser justement un TSQLConnection , et il me marque "connection impossible - impossible de charger c:\"libmysql.dll" alors que le fichier est bien présent ( peut-etre pas la version qu'il attend ?).

    Peut importe la méthode employée du moment que j'arrive à lire et écrire des choses dans la base de donnée que j'ai, tout me convient

    La BDD SQL marche car d'autres programmes ( en PHP par exemple ) l'utilisent donc pas de souci à ce niveau, par contre je n'arrive pas à l'utiliser en C++ borland

    De part cette impossibilité, tu devras employer MySQL via des fonctions de l'API de MySQL, style mysql_connection, etc...
    Si je dois utiliser des fonctions de la DLL, pourquoi pas, mais je n'arrive pas à trouver le répertoire include contenant la liste des fonction je suppose ?

    Par contre, je suppose qu'il existe des composants dbexpress fournit avec BCB, qui te permettront de jouer avec Oracle, Sql Server, DB2, etc... à l'aide de l'objet TSQLConnection & TSQLQuery.

    A toi de t'amuser maintenant.
    oui justement le TSQLConnection me met un message d'erreur, je ne comprends pas pourquoi. Est-ce que tu saurais de quoi peut venir ce "connection impossible - impossible de charger c:\"libmysql.dll" ?

    Merci pour ton aide en tout cas

  4. #4
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par Argol_Medusa Voir le message
    Si je dois utiliser des fonctions de la DLL, pourquoi pas, mais je n'arrive pas à trouver le répertoire include contenant la liste des fonction je suppose ?
    Il faut que tu les télécharges:

    Téléchargement (Je te conseil "Windows downloads Without installer"):
    http://dev.mysql.com/downloads/mysql/5.0.html#downloads

    Documentation sur l'API:
    http://dev.mysql.com/doc/refman/5.0/fr/mysql-apis.html

    En passant, j'ai pris ma réponse de posts auquels j'avais répondu:
    http://www.developpez.net/forums/sho...d.php?t=265578
    et
    http://www.developpez.net/forums/sho...d.php?t=287117

  5. #5
    Membre très actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Par défaut
    Merci beaucoup !! J'ai de nouveaux éléments pour avancer avec ça

    Je vais essayer toute suite

  6. #6
    Membre très actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Par défaut
    YEESSS !!! CA MARCHE !!


    Merci beaucoup pour le tuyau, ça fait trop plaisir depuis le temps que je gallérai sur ce sujet.


    Pour info je donne le code qui marche histoire que ceux qui chercherait à utiliser une base de donnée SQL avec le Borland C++ Builder 6 aient toute suite la solution :
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    //---------------------------------------------------------------------------
    #define __WIN__
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit1.h"
    #include "include/mysql.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    MYSQL *mySQL;
     
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      mySQL = mysql_init(NULL);
     
      if (!mysql_real_connect(mySQL, "127.0.0.1", "tonlogin", "tonpassword", "tabasededonne", 0, NULL, 0))
      {
         Application->MessageBox("Tu peux te brosser","Ca arrive pas a se connecter",MB_OK);
         // la connection a échoué
      }
      else
      {
         // la connection a réussi
         Application->MessageBox("Ouvre la bouteille ca marche","T'es connecte ",MB_OK);
         MYSQL_ROW myROW;
         MYSQL_RES *myRES;
         AnsiString aStr;
         myRES = mysql_list_tables(mySQL, NULL);
          if (myRES)
          {
             for(unsigned int i = 0; i < myRES->row_count; i++)
             {
               myROW = mysql_fetch_row(myRES);
               for(unsigned int j = 0; j < mysql_num_fields(myRES); j++)
               {
                  aStr.sprintf("%s", myROW[j]);
                  ListBox1->Items->Add(aStr);
               }
             }
          mysql_free_result(myRES);
          }
         mysql_close(mySQL);
      }
    }
    //---------------------------------------------------------------------------
    if faut aussi modifier légèrement le fichier mysql.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #ifndef _global_h				/* If not standard header */
    #include <sys/types.h>
    #if (defined(__LCC__) || defined(__WIN__) )
    #include <winsock.h>				/* For windows */
    #endif
    comme c'est indiqué dans le tutorial et ça marche

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

Discussions similaires

  1. Script SQL avec des EXIT SQL.SQLCODE
    Par fidififouille dans le forum Oracle
    Réponses: 14
    Dernier message: 23/04/2004, 16h45
  2. Requette de joiture sql avec au moin 3 tables
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/03/2004, 08h10
  3. Génération de script SQL avec les données
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/03/2004, 13h57
  4. probleme sql avec delphi
    Par lil_jam63 dans le forum Bases de données
    Réponses: 7
    Dernier message: 25/02/2004, 04h32
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 11h37

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