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 :

Erreur Access Violation : API mySQL et Builder 6


Sujet :

C++Builder

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Erreur Access Violation : API mySQL et Builder 6
    Bonjour

    Je dois, pour un TP, développer un application sous Builder(6) utilisant l'api mySQL.
    Dans celui-ci, je dois à un moment lister les tables d'une base de donnée dans une ListBox. Selon le choix de l'utilisateur, le système affichera dans une deuxième ListBox la liste des champs (leurs noms) correspondant à la sélection.
    Pour faire simple :

    ListBox1 = nom des tables
    ListBox2 = nom des champs de la table sélectionnée (par double-clic)

    Le soucis viens de la récupération des noms des champs. Lors du double-clic, le programme plante en affichant le message d'erreur suivant :
    Violation d'accès à l'adresse xxxxxx dans le module 'rtl60.bpl'. Lecture de l'adresse yyyyyy
    Je vous met le morceau de code générant l'erreur ci-dessous :
    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
    AnsiString selection = ListBox1->Items->Strings[ListBox1->ItemIndex];
    AnsiString requete = "SELECT * FROM ";
    requete += selection;
     
    char* requeteChar = requete.c_str();
     
    if(!mysql_query(mySQL, requeteChar))
    {
         myRES = mysql_store_result(mySQL);
     
         if(myRES)
         {
              compteur = mysql_num_fields(myRES);
              myFIELDS = mysql_fetch_fields(myRES);
     
               for(int i=0 ; i<compteur ; i++)
               {
                    resultat = myFIELDS[i].name; // ligne générant l'erreur
                    ListBox2->Items->Add(resultat);
               }
           }
    }
    J'ai tout essayé : cast pour voir si ça venait du type, conversion char*->AnsiString... rien n'y fait.
    Merci d'avance
    Dernière modification par Invité ; 07/11/2008 à 17h03.

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

Discussions similaires

  1. [OCILIB] OCI_LobRead erreur Access violation writing location
    Par capic dans le forum Interfaces de programmation
    Réponses: 3
    Dernier message: 05/12/2011, 08h52
  2. problèmes Socket erreur : Access violation
    Par milanoran dans le forum C++
    Réponses: 5
    Dernier message: 24/10/2010, 14h15
  3. erreur "ACCESS VIOLATION"
    Par sacha400 dans le forum Collection et Stream
    Réponses: 0
    Dernier message: 14/04/2010, 18h34
  4. Réponses: 3
    Dernier message: 29/12/2009, 18h22
  5. [Lazarus] [0.9.27] Erreur access violation avec TCalendar
    Par ovni76 dans le forum Lazarus
    Réponses: 5
    Dernier message: 22/07/2009, 12h17

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