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++ Discussion :

Remplissage d'un tableau de char avec une base de données


Sujet :

C++

  1. #1
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut Remplissage d'un tableau de char avec une base de données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     char *TabAdMacDec[256];
     
     while(!Form2->Table1->Eof)
                    {
                    TabAdMacDec[q] = (Form2->Table1->FieldByName("Adresse Mac Decimal")->AsString).c_str();
                    Form2->Table1->Next();
                    q++;
                    }
    Bonjour a tous,

    Voila j'ai un problème pour remplir un tableau de chaine de caractère.
    J'essaie de remplir un tableau avec des adresse Mac, que je vais chercher dans ma base de donnée.

    Lors du premier passage, j'ai bien la 1ere adresse dans mon TabAdMacDec[0], mais lors du 2eme passage, il me modifie TabAdMacDec[0] et TabAdMacDec[1] avec la 2eme adresse MAc.
    Ce qui veut dire que lors par exemple du 20eme passage, j'ai les 20 meme adresses dans mon tableau toujours la dernière.

    Merci a qui pourra m'aider

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    les char* peuvent être des chaînes, mais sont avant tout des tableaux de char.
    Qui dit tableau, dit adresse.
    Si ton comportement est tel, probablement que l'adresse renvoyé par c_str est la même pour chaque champ.

    Utilise tout simplement des std::string, qui se chargeront de copier le contenu de la chaîne correctement.
    En remplaçant simplement la déclaration de TabAdMacDec par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string TabAdMacDec[256];
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    merci de ta reponse,

    je viens d'essayer en declarant mon tableau comme un string, malheureusement j'ai toujours le meme resultat

  4. #4
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    il fallait utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vector<AnsiString> tab(256);

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Si tu es sur C++11, utilise plutôt un Array.

    Sinon, tu peux de nouveau essayer avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AnsiString TabAdMacDec[256];

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/11/2012, 02h05
  2. Réponses: 15
    Dernier message: 22/12/2006, 14h28
  3. Connexion de Delphi avec une base de données Oracle 9i
    Par Price dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/12/2005, 12h38
  4. Gestion des chemins des images avec une base de données...
    Par Nean dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/07/2005, 08h08
  5. probleme avec une base de donnée postgres SQL
    Par Alexlesilex dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/06/2005, 22h09

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