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 :

Base de données et ListBox


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut Base de données et ListBox
    A partir de builder je cré une colonne dans ma base de données.
    Je veut ajouter le titre de ma colonne dans une ListBox, mais je sais pas comment faire.

  2. #2
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TaTable->Fields->Fields[0]->DisplayName;
    //EDIT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TonListBox->Items->Add(TaTable->Fields->Fields[0]->DisplayName);
    //EDIT 2 :
    remplacer bien évidemment 0 par l'index de colonne correspondant a celle venant d'être crée
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  3. #3
    Membre habitué Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 131
    Points
    131
    Par défaut
    J'aurais dis plutot ca pour ajouter le nom dans la listeBox non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ListBox1->Items->Strings[0]= "LeNomDeLaColonne";

  4. #4
    Membre habitué Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 131
    Points
    131
    Par défaut
    Citation Envoyé par Cantrelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TonListBox->Items->Add(TaTable->Fields->Fields[0]->DisplayName);
    //EDIT 2 :
    remplacer bien évidemment 0 par l'index de colonne correspondant a celle venant d'être crée
    Je crois que tout est dis bien joué

  5. #5
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    Merci, ca marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ListBox1->Items->Strings[0]= "LeNomDeLaColonne";
    Mais comment je fait pour que quand je relance mon application ma listbox contienne toujours la valeur que j'ai inséré.

  6. #6
    Membre habitué Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 131
    Points
    131
    Par défaut
    Normalement il le garde non?

  7. #7
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    Non, il le garde pas.
    Tu sait pas si on peut sauvegarder les index de la listbox dans un fichier ini.

  8. #8
    Membre actif
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Citation Envoyé par scorpion37
    Non, il le garde pas.
    Tu sait pas si on peut sauvegarder les index de la listbox dans un fichier ini.
    tu y met ce que tu veux dans ton fichier ini

    lanonyme

  9. #9
    Membre habitué Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 131
    Points
    131
    Par défaut
    A vrai dire j'y connais pas grand chose (meme rien pour dire) sur les fichiers ini, désolé
    Et je pensais qu'il gardé en mémoire les données.

    Mais normalement si ta ligne de code est dans le programme il te le créera à chaque fois

    Sinon tu le fais manuellement avant la compilation en editant la propriété Items de ta listBox

  10. #10
    Membre actif
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Points : 290
    Points
    290
    Par défaut
    Citation Envoyé par Furlaz
    Et je pensais qu'il gardé en mémoire les données.

    Si tu execute ton programme et que tu marque 'ToTo' dans un Edit, tu arrete le programme et que tu le relance ... y'a plus ToTo... sauf si tu sauvegarde le contenu de ton Edit.

    lanonyme

  11. #11
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    et comment tu fais ça?
    sauf si tu sauvegarde le contenu de ton Edit.

  12. #12
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Tu sauvegarde tes données dans un fichier de n'importe quel extention, il faut aller voir la classe fstream, cett eclasse gérre tout ce qui est fichier
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  13. #13
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    Furlaz a dit:
    Sinon tu le fais manuellement avant la compilation en editant la propriété Items de ta listBox
    Le problème c'est qu'il faut que cela se fasse automatiquement.

    pottiez a dit:
    il faut aller voir la classe fstream, cett eclasse gérre tout ce qui est fichier
    j'y comprend rien donc si tu peut m'expliquer quelques trucs, ça m'arrangerait bien.

  14. #14
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    tu as plusieurs fonction dans cette classe, d'abord tu as la fonction open(), avec pour parametre le fichier a ouvrir qui est de type char *, et en deuxieme parametre le mode d'ouverture :
    ios::out pour ecriture (attention se mode remplace le fichier existant)
    ios::in pour lecture
    ios ::ate pour ecriture en fin de fichier

    apres tu as les fonction de lecture est d'ecriture :
    write() prend deux parametre les texte a ecrire en char * puis le nombre de caractère a ecrire
    read() prend un int qui est le nombre de caractere a lire, et retour un char * qui est le texte lus
    get()
    getline() (lit seulement une ligne du fichier)
    put()
    putline() (je suis pas sur de celle ci)

    et enfin la fonction close() pour fermer le fichier

    ensuite il y a des subtilitées, mais je ne pourrait pas les expliqué ici, sinon j'ai repris cette classe pour en faire une moi meme qui est plus simple à gérer, et qui est plus basic (lecture ecriture(ecrasement et fin de fichier) et connaissance de la taille du fichier)
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  15. #15
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Salut,
    Si la nouvelle colonne est belle et bien validée, il te suffit de mettre le code que je t'avais indiqué dans l'évènement OnActivate() de la TForm contenant le TTable et le TListBox.
    (a condition que la propriété Active du TTable soit a true)
    Maintenant, tu peut très bien sauvegarder les noms de colonne de la table dans un .ini effectivement.
    Une exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    TIniFile* pInif;
    pInif = new TIniFile("CheminDuFichierIni");
    pInif->WriteInteger("Section NomChamp", "NombreChamps", TaTable->Fields->Count);
    for (int i = 0; i < TaTable->Fields->Count; i ++)
    {
    pInif->WriteString("Section NomChamp", AnsiString("Champ") + i, TaTable->Fields->Fields[i]->DisplayName);
    }
    Lecture des noms de colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    TonListBox->Items->Clear();
    for (int i = 0; i < pInif->ReadInteger("Section NomChamp", "NombreChamps", 0); i ++)
    {
    TonListBox->Items->Add(pInif->ReadString("Section NomChamp", AnsiString("Champ") + i, "Valeur manquante"));
    }
    En espérant t'aider,
    @ +
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  16. #16
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    C'est bon la solution de Cantrelle marche impeccable.
    Merci a tous.

  17. #17
    Membre habitué Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 131
    Points
    131
    Par défaut
    Citation Envoyé par scorpion37
    C'est bon la solution de Cantrelle marche impeccable.
    Merci a tous.

    Un petit tag alors ??

  18. #18
    Membre à l'essai
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 18
    Points
    18
    Par défaut
    Dsl javé oublié

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

Discussions similaires

  1. [Débutant] Base de donnée vers ListBox - éléments manquants
    Par microbe83 dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/08/2014, 23h31
  2. [Débutant] Base de donnée et ListBox
    Par Loic4891 dans le forum VB.NET
    Réponses: 5
    Dernier message: 25/01/2014, 17h00
  3. listbox lié a une base de données en mode déconnecté
    Par Seth_75 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/05/2008, 19h45
  4. Réponses: 5
    Dernier message: 10/01/2008, 08h47
  5. Listbox et base de données
    Par KOUTO dans le forum Delphi
    Réponses: 6
    Dernier message: 08/12/2006, 10h15

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