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 averti
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    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 éprouvé
    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 : 54
    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
    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

  3. #3
    Membre confirmé 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
    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 confirmé 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
    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 averti
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    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 confirmé 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
    Par défaut
    Normalement il le garde non?

  7. #7
    Membre averti
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    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 expérimenté
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    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 confirmé 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
    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 expérimenté
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    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 averti
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

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

  12. #12
    Expert confirmé

    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 : 40
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    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

  13. #13
    Membre averti
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    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
    Expert confirmé

    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 : 40
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    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)

  15. #15
    Membre éprouvé
    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 : 54
    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
    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,
    @ +

  16. #16
    Membre averti
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

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

  17. #17
    Membre confirmé 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
    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 averti
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    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