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

  1. #21
    Invité
    Invité(e)
    Par défaut
    Nop, rien, tout les champs sont écrits en minuscule avec des "_" au lieu des espaces, sans caractères spéciaux.
    Je viens de refaire un test, c'est ce foutu myFIELDS[i].name qui pose soucis, c'est certains. Pour i=0, ça fonctionne, et puis dès i=1 le programme plante alors que j'ai pourtant plus d'un champs dans mes tables...

    En fait, dès i=1, il me met que myFIELDS[i].name = NULL, ce qui est complètement faux ! J'ai beau chercher, je trouve pas l'erreur...

  2. #22
    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
    Comme Sunchaser
    Une idee conne a tu essaye de demarrer ta boucle avec une valeur superieure a 0, 2..3, pour voir si ce n'ai pas du au contenu du champ

  3. #23
    Invité
    Invité(e)
    Par défaut
    Toujours pareil... Apparemment ça n'est pas le contenu.

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    Question con :

    Quel serveur sql utilises tu ?
    As tu des droits suffisemment élevés pour cet utilisateur ?

  5. #25
    Invité
    Invité(e)
    Par défaut
    Donc serveur MySQL (en fait, j'utilise WAMP), et j'accède à la base de donnée en "root" (ce qui ne devrait pas poser de soucis au niveau des droits).

  6. #26
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    effectivement en root çà devrait pas poser de souci


    tu peux pas uploader ton projet ainsi qu un csv contenant ta ou tes bases ?

  7. #27
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    bon moi je disais çà , c etait juste pour aider , l api sql fonctionne bien chez moi ...

  8. #28
    Invité
    Invité(e)
    Par défaut
    Désolé, j'up mon projet demain.
    En fait, en y repensant, il est fort possible que l'erreur vienne du .h de l'api. Mon prof nous a filé une version qu'il a (soit-disant) modifié, et le connaissant (pour ne pas dire que c'est un vrai bon à rien, faut le voir pour comprendre) il a du encore faire n'importe quoi...

    Demain, je re-essai tout ça avec l'api fournie avec la dernière version de mysql.

  9. #29
    Invité
    Invité(e)
    Par défaut
    Voilà, j'ai up mon projet ici.
    Ne vous inquiétez pas si ce n'est pas clair (manque de commentaires), c'est un TP...

    Merci

  10. #30
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    j ai maté ton projet

    Je liste le nom des tables sans souci
    Ensuite en double cliquant sur la listbox1 , la boucle coince , j obtiens bien mon 1er nom mais pas les suivants

    J ai testé avec le caption d un label si il comptait bien le nombre de champs , pas de souci .

    L erreur se fait dans une violation d acces memoire au niveau de la dll cc3260mt.dll

    je vais perseverer

  11. #31
    Invité
    Invité(e)
    Par défaut
    Merci !
    Je vais continuer à chercher aussi de mon côté, j'ai toute la journée pour ça

  12. #32
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    Bon j ai reussi

    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
     
    void __fastcall TForm1::ListBox1DblClick(TObject *Sender)
    {
        if(ListBox1->Focused())
        {
    //MYSQL_RES *myRES;
    AnsiString marequete = "SHOW COLUMNS FROM " ;
    marequete+=ListBox1->Items->Strings[ListBox1->ItemIndex];
    if (!mysql_query(mySQL,  marequete.c_str()  ) )
     
    { myRES = mysql_store_result(mySQL);
            if (myRES)
            { Label2->Caption= myRES->row_count;
              AnsiString aStr;
     
              for(unsigned int i = 0 ; i < myRES->row_count ; i++)
                            {   myROW = mysql_fetch_row(myRES);
                    for(unsigned int j = 0; j < 1; j++)
                               { aStr.sprintf("%s", myROW[j]);
                                 ListBox2->Items->Add(aStr);
                                }
                             }
     
        }}}
    }
    mon cheminement ?
    Champ en anglais = field
    recherche de field dans mysql.h
    je trouve une fonction interessante : mysql_list_fields
    je googlelise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    $result = mysql_query("SHOW COLUMNS FROM sometable");
    if (!$result) {
       echo 'Impossible d\'exécuter la requête : ' . mysql_error();
       exit;
    }
    if (mysql_num_rows($result) > 0) {
       while ($row = mysql_fetch_assoc($result)) {
          print_r($row);
       }
    }
    ?>
    cette fonction est depreciée , bon pas grave on essaye quand meme
    Resultat , toujours la même erreur
    Donc on va essayer leur " show collumns from "
    Quelques boucles et puis voilà .

  13. #33
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup !
    Je vais intégrer ça tout de suite !
    Je commençais à rager, il ne me manquait plus que la solution à ce problème et j'avais fini le programme.

    Merci encore de votre aide !
    Je mettrais le sujet en résolu une fois que j'aurais convenablement intégrer le bout de code

  14. #34
    Invité
    Invité(e)
    Par défaut
    Impeccable !
    Je passe donc le sujet en résolu, et encore merci !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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