none
Remplir listbox à partir d'une base de données

    Question

  • Bonjour,

    Je travail sur le developpent d'une aplication MFC sous Visual C++ 2008 ( je suis débutant). Dans mon IHM, j'ai une listbox dans laquelle je voudrais inserer, de manière dynamique, les éléments d'une table de ma base de données Access. Pourriez-vous m'aider SVP.

    Merci

    Thursday, December 23, 2010 3:42 PM

Answers

All replies

  • Bonjour,

     

    Je vous propose ces articles pour une introduction dans l’utilisation de ListBox avec MFC :

    http://cpp.developpez.com/faq/vc/?page=CListBox

    http://www.ehow.com/how_2085869_use-listbox-control-mfc-visual.html

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    Wednesday, December 29, 2010 11:37 AM
  • Bonjour,

     

    Merci pour votre réponse, j'ai déjà eu à consulter ces liens, j'arrive à remplir ma box dynamiquement avec des valeurs choisi (via m_lisbox.addstring("")). Mais je vois pas trop comment le faire à partir des données d'une BD.

     

    Merci

    Monday, January 03, 2011 9:52 AM
  • Bonjour,

     

    Pour les bases de données, je vous propose de commencer par la documentation MSDN sur le sujet :

    Qu’est-ce que le modèle de programmation de bases de données MFC

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     


    Suivez MSDN sur Twitter 

    Tuesday, January 04, 2011 9:46 AM
  • Bonjour,

    Merci pour le lien, j'ai lu pas mal de doc sur MFC mais aucune n'explique concretement comment récupérer le contenu d'une BD pour l'insérer dans un control box.

    Cordialement 

    Thursday, January 06, 2011 2:33 PM
  • Votre question est trop vague.

    Soit la base de donnés n'est qu'un repository de valeurs et dans ce cas, les valeurs récupérées dans la base sont stockées dans les objets modélisants vos objets métiers. Plus aucun rapport avec le base de données donc, il ne reste qu'a savoir afficher une liste de string via les DDX et les DDV des MFC.

    Soit la base de donnée est le coeur de votre application, comme les clients de base de données comme TOAD ou Embarcadero, et là, il vous faut utiliser des frameworks de communication avec les bases de données pour minimiser le code et sa complexité. Mais ces frameworks sont généralement dédié a un type de base de données ou demande un coût d'apprentissage important.

    Donc, ou c'est méga simple, et on ne voit où est votre problème (qui n'est plus de la base de données), ou il nous manque des informations pour répondre efficacement.

    P.S.: le contenu d'une base de données contenant plusieurs tables, chaque table contenant plusieurs colonnes, ça va être dure de caser tout ça dans la dropdownlist d'une combobox, même avec plusieurs lignes. ;-)


    Paul Bacelar, Ex - MVP VC++
    Thursday, January 20, 2011 9:24 PM
    Moderator
  • J'ai finalement reussi, en faite il ne s'agit pas d'une table mais d'une colonne d'une table. J'ai casé tout ça dans un combobox (pas très ergonomique, mais bon, c'est pas une priorité).

    Cependant ceci n'était qu'une partie de mon problème, parce qu'en faite j'ai plusieurs bases de données qui ont les mêmes parametre, mais des valeurs différentes. Ce que j'aimerai c'est à partir de mon IHM pourvoir sélectionner n'importe quel BD pour pouvoir l'exploiter. Je voulais savoir si en MFC c'était possible de travailler avec nimporte quelle BD sans pour autant avoir à l'enregister via ODBC (sans DSN)?

    Wednesday, January 26, 2011 2:44 PM
  • Vous pouvez créer des DSN dans votre application MFC et les utiliser pour accéder aux BD.

    Mais il semble que votre application tombe plutôt dans la catégorie "frontale base de données" et j'ai toujours trouvé les outils tiers comme TOAD bien plus fini qu'un outil "maison".


    Paul Bacelar, Ex - MVP VC++
    Friday, January 28, 2011 12:38 AM
    Moderator
  • Justement je cherche à faire une connexion sans DSN, une connexion directe à la base de données  car l'application devra extraire des données provenant de plusieurs bases différentes, donc ça ne serait pas "très propre" de devoir créer une DSN à chaque fois qu'un base va être utilisée. D'autant plus que les principaux utilisateurs ne seront pas forcement capable de le faire.
    Friday, January 28, 2011 9:00 AM
  • C'est quoi "directe" ?

    Ce qui  a été standardisé en 92, avec SQL, c'est le langage de "requêtage" pas le protocole de communication.

    Chaque SGBDR a son propre protocole de communication.

    Les DSN sont des outils utilisés pas ODBC, un middleware de communication entre différent provider de données et votre programme Windows.

     http://www.commentcamarche.net/contents/odbc/odbcdsn.php3

    Avoir plusieurs bases de données pour une application, cela ne présente que des complications, cohérence des données, intégrité référentielle impossible, synchronisation ou réplication de base données etc...

    Rien que des em******.

    Il est largement plus propre d'avoir une seule base de données pour une application. Si votre application est un utilitaire de gestion de bases de données, il est largement plus propre que la configuration des drivers ODBC nécessaires à l'accès à une base soit associée à la base (via un DSN, dont c'est la fonction), que de la limité à un type de source de données et que la configuration ODBC, qui est fonction que de la base, soit dans chaque instance de chaque type de programme voulant y accéder.

    Je pense que vous poser mal le problème. C'est quoi votre problème initial, utilitaire de base de données ou application métier ?


    Paul Bacelar, Ex - MVP VC++
    Thursday, February 03, 2011 11:54 PM
    Moderator