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 :

BCB6 & Mysql(api) :pb avec requete


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 218
    Par défaut BCB6 & Mysql(api) :pb avec requete
    Bonjour
    je me connecte au sgbd
    la requete s'execute bien dans phpmyadmin

    pourquoi ce code plante a la compil : :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    mysql_query(__mysql,"SELECT code,commli,adhesion FROM tcm ORDER BY commli");
    MYSQL_RES *myRES = mysql_use_result(__mysql);
    MYSQL_ROW row;
     
    while(!mysql_eof(myRES)){
        // traite les données
    // CboCommune est une combobox     
    Frm->CboCommune->Items->Add(myRES[1]) ;
     
    }
     
    mysql_free_result(myRES);

    voila les erreurs ;

    comment est que je peux recuperer mon jeu de donnée via la requete ?
    que dois je modifier ?

    [C++ Erreur] TMysql.cpp(154): E2034 Impossible de convertir 'st_mysql_res' en 'AnsiString'
    [C++ Erreur] TMysql.cpp(154): E2342 Mauvaise correspondance de type dans le paramètre 'S' ('const AnsiString' désiré, 'st_mysql_res' obtenu)



    merci de vos conseils

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 28
    Par défaut
    Bonjour,

    je ne connais pas l'API MySQL et donc je ne connnais pas la structure de MYSQL_RES *.

    Le problème vient du type de paramétre passé à la fonction Add() qui demande un AnsiString. Essaye de transformer ton MYSQL_RES * en char *
    (avec un cast par exemple : ) avant de le passer à Add()...
    (en effet le cast entre char * et AnsiString est automatique)

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 218
    Par défaut
    J'ai essaye cela dans un autre base

    mais je boucle
    quel est le le bon test a faire ?


    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_query(__mysql,"select *  from Personne");
    MYSQL_RES *myRES = mysql_use_result(__mysql);
     
     
    while(myRES->eof==mysql_eof(myRES)){
     
        MYSQL_ROW row= mysql_fetch_row(myRES);
     
     
         AnsiString enreg=row[1];
         Frm->CboCommune->Items->Add(enreg) ;
     
    }
     
    mysql_free_result(myRES);
    avez vous une idee ?

  4. #4
    Rédacteur
    Avatar de dvsoft
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2002
    Messages : 176
    Par défaut
    bonjour,

    Fait un tour là:
    http://dev.mysql.com/doc/plusplus/en/4_Tutorial.html

    J'espère que cela t'aidera.

    Alain

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 218
    Par défaut
    ok j'ai trouve ceci

    mais si quuelqu'un a mieux avec le eof
    je suis prenneur


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    mysql_query(__mysql,"select *  from Personne");
    MYSQL_RES *myRES = mysql_use_result(__mysql);
     
       while( MYSQL_ROW row= mysql_fetch_row(myRES)){
     
     
     
         AnsiString enreg=row[1];
         Frm->CboCommune->Items->Add(enreg) ;
     
    }
     
    mysql_free_result(myRES);
    merci

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

Discussions similaires

  1. Formulaire avec requetes Mysql
    Par gearsofcha dans le forum Langage
    Réponses: 1
    Dernier message: 25/09/2012, 10h31
  2. [MySQL] Formulaire php(avec requete mysql)
    Par naut's dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 26/12/2011, 13h55
  3. Probleme avec requete mysql
    Par EIN-LESER dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/11/2011, 16h11
  4. [MySQL] Erreur dans une requête avec jointures
    Par bobic dans le forum Langage SQL
    Réponses: 17
    Dernier message: 03/08/2006, 13h04
  5. [MySQL] erreur #1064 avec une requete
    Par oceane751 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/02/2006, 22h31

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