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 requ�te MySql & builder


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 79
    Par d�faut Probl�me requ�te MySql & builder
    Voici se que je fais pour inserer mes donner dans mysql,


    --------------------------------- requete-------------------------------
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
     
    MYSQL *mySQL;
    mySQL = mysql_init(NULL);
     
    mysql_query(mySQL,"INSERT INTO gestion_client VALUES('','"+Label1->Caption+"','"+Edit1->Text+"','"+Edit2->Text+"','"+Edit3->Text+"','"+Edit4->Text+"','"+Edit5->Text+"','"+Edit6->Text+"','"+Edit7->Text+"','"+Edit8->Text+"','"+Memo1->Text+"')");

    et lors de la compilation je recup�re des erreur :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    [C++ Erreur] Unit4.cpp(87): E2034 Impossible de convertir 'AnsiString' en 'const char *'
    [C++ Erreur] Unit4.cpp(87): E2342 Mauvaise correspondance de type dans le paramètre 'q' ('const char *' désiré, 'AnsiString' obtenu)
    pourtant j'ai suivi le tuto et v�rifier les requete par rapport a celle deja poster, de l'aide please......

  2. #2
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Salut boopix:
    Les chaines recuperees des TEdit sont des AnsiString.
    Pour convertir ta chaine il faut faire comme ceci:
    AnsiString "Ma_Chaine"; pour convertir Ma_Chaine.c_str()

  3. #3
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 79
    Par d�faut
    voici se que j'essaye de faire :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    AnsiString requete;
    requete = "INSERT INTO gestion_client VALUES('','"+Label1->Caption+"','"+Edit1->Text+"','"+Edit2->Text+"','"+Edit3->Text+"','"+Edit4->Text+"','"+Edit5->Text+"','"+Edit6->Text+"','"+Edit7->Text+"','"+Edit8->Text+"','"+Memo1->Text+"')";
     
    mysql_real_connect(mySQL, "127.0.0.1", "root", "ga950106", "test", 0, NULL, 0);
    mysql_query(mySQL,requete.c_str());
    pas d'erreur a la compilation mais sa ne fonctionne pas ????


    autre info je me suit inspirer des tuto et de ce toopic

    http://www.developpez.net/forums/sho...ighlight=mysql

  4. #4
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Je pense que cela est au niveau de la recuperation "Edit1->Text" que tu a le probleme.

  5. #5
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 79
    Par d�faut
    justement pour tester rien de mieux que le TLabel, donc se que je fais, ces l'affichage de la vaiable requete dans un label, et sa me donne bien la requete compl�te, bizard non

  6. #6
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    je ne pense pas que tu peu pas recuperer directement tes chaines comme tu le fait
    tu doit faire comme ceci
    "mon_txt = Edit1->text;"
    et dans ta fonction
    "mon_txt.c_str()"

  7. #7
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 79
    Par d�faut
    j'ai pas compris se que tu veut que je fasse ?????

  8. #8
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Dans ta chaine
    "INSERT INTO gestion_client VALUES('','"+Label1->Caption+"','"+Edit1->Text+"','"+Edit2->Text+"','"+Edit3->Text+"','"+Edit4->Text+"','"+Edit5->Text+"','"+Edit6->Text+"','"+Edit7->Text+"','"+Edit8->Text+"','"+Memo1->Text+"')"
    tu doit faire comme ceci
    "mon_txt = Edit1->text;"
    et dans ta fonction
    "mon_txt.c_str()"
    "INSERT INTO gestion_client VALUES('','"+Label1->Caption+"','"+mon_txt.c_str()"+"..................
    je pense que c'est aussi valable pour le label et le memo

  9. #9
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 79
    Par d�faut
    j'avais deja essayer et sa m'avais mis une erreur alors je reprends une requete de base deja construite pour tester

    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
     
     
    MYSQL *mySQL;
    mySQL = mysql_init(NULL);
     
     
    AnsiString requete;
    const char* query;
     
     
    requete = "INSERT INTO gestion_client VALUES('','toto','titi','rue alphonse toti','93200','Saint ouein','01.06.23.52.32','01.06.23.52.32','01.06.23.52.32','toto');";
     
    query = requete.c_str();
     
    Label16->Caption = query;
     
    mysql_query(mySQL,query);
    avec cette requete j'arrive a compiler mais lorsque je teste le programme il bloque et m'affiche une erreur comme quoi le projet a declencher une erreur de la classe .....


    ??? pourtant j'ai bien ecrit la requete ????

  10. #10
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    je pense qu'il il a une modif a faire
    ta chaine
    requete = "INSERT INTO gestion_client VALUES('','toto','titi','rue alphonse toti','93200','Saint ouein','01.06.23.52.32','01.06.23.52.32','01.06.23.52.32','toto');";
    a remplacer par celle ci sans le ; terminal
    requete = "INSERT INTO gestion_client VALUES('','toto','titi','rue alphonse toti','93200','Saint ouein','01.06.23.52.32','01.06.23.52.32','01.06.23.52.32','toto')";
    un post en cour avec sensiblement le meme probleme

  11. #11
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 79
    Par d�faut
    Si j'enleve le ; j'obtiens une erreur :

    violation d'acc�s a l'adresse 10003b1d dans le module 'libmysql.dll'. lecture de l'adresse 00000004.

  12. #12
    Membre �clair� Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    D�tails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activit� : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Par d�faut
    Tu peux parfaitement faire
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    AnsiString requete=" Values ("+Edit1->Text+")";
    Tu n'as pas besoin de la convertir avec c_Str(), c'est le but des AnsiStrings.
    par contre, peux tu nous mettre un peu plus de ton code que l'on voit comment tu executes la requ�te?

    Et quel sont les objets que tu utilise pour te connecter � ta base MySQL

  13. #13
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 79
    Par d�faut
    voir un peut plus haut,.... j'ecris une requete en dur pour tester sans passer par les champs, et meme sa ne fonctionne pas...!!!!

    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
     
    MYSQL *mySQL;
    mySQL = mysql_init(NULL);
     
     
    AnsiString requete;
    const char* query;
     
    requete = "INSERT INTO gestion_client VALUES('1','toto','titi','rue alphonse toti','93200','Saint ouein','01.06.23.52.32','01.06.23.52.32','01.06.23.52.32','toto')";
     
    query = requete.c_str();
     
    Label16->caption = query; 
     
    mysql_query(mySQL,query);

    le label16 affiche bien la structure de la requete, mais une fois dans la mysql_query ont obtiens une erreur.

  14. #14
    Membre �clair� Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    D�tails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activit� : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Par d�faut
    �a me dis pas quel type de composant tu utilises pour te connecter � MySQL

  15. #15
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 79
    Par d�faut
    API MySql !!!!!!

  16. #16
    Membre �clair� Avatar de BOUBOU81
    Profil pro
    system integrator
    Inscrit en
    Juin 2004
    Messages
    358
    D�tails du profil
    Informations personnelles :
    Localisation : Allemagne

    Informations professionnelles :
    Activit� : system integrator

    Informations forums :
    Inscription : Juin 2004
    Messages : 358
    Par d�faut
    C'est quoi �a, c'est pas d'origine dans Borland.
    J'ai jamais utiliser �a pour me connecter � MySQL.

  17. #17
    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
    Question stupide, est-ce que tu t'ai connect� � la BD avant de faire la requ�te? Le code ressemble �:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    if (!mysql_real_connect(mySQL, "127.0.0.1", "root", "root", "test", 0, NULL, 0)) {
        // la connection a échoué
    } else {
        // la connection a réussi
    }

  18. #18
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 79
    Par d�faut
    AHHHH Enfin tu est l� mon ami crayon , ouffff j'�spere que tu arrivera a m'aidez, alors voil� j'ai suivi le tuto su l'API MySql, j'ai meme r�ussi a cr�er une fenetre qui demande le login et password d'un user de la base de donn�e, pour se conn�cter a mysql, le soucie et au niveau de l'INSERT INTO, meme le fais de r�aliser une requete en dur ne passe pas ->

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    MYSQL *mySQL;
    mySQL = mysql_init(NULL);
     
    AnsiString requete;
    const char* query;
     
    requete = "INSERT INTO gestion_client VALUES('','toto','titi','rue alphonse toti','93200','Saint ouein','01.06.23.52.32','01.06.23.52.32','01.06.23.52.32','toto');";
     
    query = requete.c_str();
     
    mysql_query(mySQL,query);


    voici plutot le source complet


    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
     
     
     MYSQL *mySQL;
     mySQL = mysql_init(NULL);
     
    if (!mysql_real_connect(mySQL, "127.0.0.1", "root", "ga950106", "test", 0, NULL, 0))
     {
    	Application->MessageBox("Erreur de Login ou Password...","", MB_OK|MB_ICONEXCLAMATION);
     }
     else
     {
      AnsiString requete;
      const char* query;
     
      requete = "INSERT INTO gestion_client VALUES('1','toto','titi','rue alphonse toti','93200','Saint ouein','01.06.23.52.32','01.06.23.52.32','01.06.23.52.32','toto');";
     
      query = requete.c_str();
      Label16->Caption = query;
      mysql_query(mySQL,query);
      mysql_close(mySQL);
     }

    Est-ce que je me suit tromper

  19. #19
    Membre confirm�
    Inscrit en
    Ao�t 2006
    Messages
    79
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 79
    Par d�faut
    c bon j'ai r�solu le probl�me, il ne venait pas du code, mais tous simplement de MySql, et oui le user en question n'avais pas de droit sur la base de donner, olalalala c vrai que ces dur de faire des enregistrement sans droits,....


    alors voil�, avant de poster je v�rifirais tous, mais vraiment tout.....


    A++++

  20. #20
    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
    Si tout fonctionne n'oublie de mettre

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me requ�te MySQL , UPDATE
    Par ANTiQE dans le forum Acc�s aux donn�es
    R�ponses: 2
    Dernier message: 13/04/2011, 20h55
  2. Probl�me requ�te MySql en fonction du serveur
    Par Lowbaka dans le forum Requ�tes
    R�ponses: 8
    Dernier message: 31/12/2010, 13h22
  3. probl�me requ�te MySql en vb 2008
    Par walid kh dans le forum VB.NET
    R�ponses: 0
    Dernier message: 17/03/2010, 13h30
  4. [MySQL] Probl�me requ�te Mysql
    Par jbtz64 dans le forum PHP & Base de donn�es
    R�ponses: 3
    Dernier message: 28/05/2008, 14h08
  5. Probl�me requ�te MySQL
    Par low-ik dans le forum Requ�tes
    R�ponses: 4
    Dernier message: 12/03/2007, 16h04

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