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

MFC Discussion :

Base de donnée


Sujet :

MFC

  1. #1
    Membre actif
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Par défaut Base de donnée
    Bonjour,

    Je crée actuellement un projet dans lequel j'aurai besoin d'utiliser une base de donnée. Je dois pouvoir lire les informations de cette base, et créer de nouvelles lignes de données. Il s'agit simplement de lire et écrire les caractéristiques d'un objet mais en aucun cas de retrouver un objet en fonction de ses caractéristiques.

    Je ne connais pas grand choses aux bases de données, c'est pourquoi je m'adresse à vous pour me guider dans mon choix.

    Est-ce que je dois céer moi même une classe qui lirait et écrirait dans un flux texte? (Cette solution ne me parrait pas très compliquée à mettre en oeuvre etant donné la simplicité des opérations sur la BD que je demande mais cependant assez longue et peut optimisée.)
    Est-ce que je dois utiliser une base de donnée éxistante?
    J'avais pensé utiliser MySQL mais je n'ai pas vraiment compris comment cela fonctionne : Est-ce que la BD est stockée dans un fichier ou sur un réseau?

    J'attend vos réponses et vos éventuelles questions.

    Merci.

  2. #2
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    D'abord tu dois faire le choix de ton SGBD. (SQL Server, Access, MySQL, Oracle).
    Quelle est le SGBD dont tu disposes?

    Est-ce que je dois céer moi même une classe qui lirait et écrirait dans un flux texte? (Cette solution ne me parrait pas très compliquée à mettre en oeuvre etant donné la simplicité des opérations sur la BD que je demande mais cependant assez longue et peut optimisée.)
    Généralement non, sous Visual Studio tu as des assistants qui génèrent pour toi des classes et même du code pour te connecter.
    Là tu devras encore choisir entre les différentes api de bd, ODBC, OLE DB, ADO .NET.

    Est-ce que je dois utiliser une base de donnée éxistante?
    Mais pourquoi pas, Tu peux le faire si tu ne veux pas designer une nouvelle.

    J'avais pensé utiliser MySQL mais je n'ai pas vraiment compris comment cela fonctionne : Est-ce que la BD est stockée dans un fichier ou sur un réseau?
    Généralement les BD sont faites pour être utiliser en réseau. Mais ce n'est pas un problème, toi tu te concentres sur les classes que VS génère pour toi et les api sous jacentes se chargent du reste.

  3. #3
    Membre actif
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Par défaut
    Bonjour,

    D'abord merci pour ta réponse.

    La base que je souhaite créer ne comportera qu'une dixaine de tables, ne sera consultée que par une personne à la fois en local (pas sur un réseau) et ne subira que quelques enregistrements par jours, les jours où elle sera utilisée.
    Je pense donc qu'il s'agit là d'une très petite base de donnée. C'est pourquoi il faut qu'elle soit gratuite. J'hésite donc entre Firebird et MySQL.

    Là tu devras encore choisir entre les différentes api de bd, ODBC, OLE DB, ADO .NET.
    Je développe sous Visual studio .NET 2003. Cela veut il dire que je dois utiliser l'api .NET? Lequel me conseilleriez-vous?

    Encore merci.

  4. #4
    Membre éclairé
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Par défaut
    Salut Julien


    moi perso pour utiliser des BDD sous MFC j'utilise la librairie ADOLib.h Elle est tres simple d'utilisation.
    J'ai une BDD MySql en local, c'a devrais correspondre à ta application.
    Une simple recherche sur Google devrais te permettre de mettre la main dessus.


  5. #5
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Je pense donc qu'il s'agit là d'une très petite base de donnée. C'est pourquoi il faut qu'elle soit gratuite. J'hésite donc entre Firebird et MySQL.
    Ok, comme la plupart on fait MySQL alors lance toi.

    Je développe sous Visual studio .NET 2003. Cela veut il dire que je dois utiliser l'api .NET? Lequel me conseilleriez-vous?
    Comme je le disais tu as le choix, mais en passant voici une petite remarque:
    Tu peux créer ta dizaines de tables sous MySQL, ensuite tu génères ton projet C++. Le type de projet que tu vas générer sous VC++ va déterminer le choix de l'api de bd que tu vas utiliser.

    Soit tu te sers directement de l'api fournit avec MySQL pour te connecter à ta DB dans tout type de projet mais là tu devras te roder un peu dans MySQL.

    Soit tu te sers de ODBC (Open Database Connectivity) dans un projet MFC (avec des CDatabase et CRecordset) pour te connecter. Mais là tu devras fournir en plus le pilote (MyODBC) pour MySQL, et il faudra inscrire ta source de données auprès de l'administrateur ODBC (dans Outils d'administration).

    Soit tu te sers de OLE DB (Object Linking and Embbeded Database) dans un projet ATL (avec des CDataConnection, CCommand et CAccessor) pour te connecter. Et là tu te passes d'inscrire ta source de données. ODBC est moins compliqué mais OLE DB offre plus de fonctionnalités.

    Soit tu te sers de ADO ou ADO .NET (ActiveX Data Object .NET) dans un projet MFC ou .NET (avec des objets similaires ) pour te connecter.

    L'intérêt d'utiliser les API de SGBD fournit par Microsoft (ODBC, OLE DB, ADO .NET) est qu'elles te fournissent une interface de programmation standard et homogène que tu peux appliquer pour n'importe quel SGBD.

    L'intérêt d'utiliser une API spécifique à un SGBD te rend "spécialite" dans l'utilisation de cet SGBD uniquement. Lorsqu'il s'agira de migrer vers un autre, il faudra réapprendre l'API pour cet autre SGBD.


  6. #6
    Membre actif
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Par défaut
    Merci à tous les deux pour vos réponses.

    Je vais donc utiliser MySQL.

    Je suis dans un projet MFC. Je vais regarder et essayer un peu toutes les solution et je choisirai en fonction de la rapidité et de la simplicité d'utilisation.

  7. #7
    Membre actif
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Par défaut
    J'ai un petit problème :

    J'ai essayé d'utiliser ADOLib comme moulefrite à dit que c'était simple d'utilication, et dès le départ j'ai une erreur ; le compilateur bloque sur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #import "c:\program files\common files\system\ado\msado21.tlb"  no_namespace  rename ("EOF", "adoEOF")
    Il est vrai que ce fichier n'éxiste pas mais comment le créer ???

    J'ai donc essayé d'installer MyOBDC en suivant divers tutoriaux mais à chaque fois les instalations que je fait ne correspondent pas à celles qui sont décrites.

    Help !

    N'auriez vous pas un tutoriel simple pour n'importe quel api?

    Merci.

Discussions similaires

  1. Problème Base de données et CRecordSet
    Par LE CHAKAL dans le forum MFC
    Réponses: 3
    Dernier message: 20/08/2002, 11h59
  2. connexion base de donné
    Par saidi dans le forum MFC
    Réponses: 3
    Dernier message: 07/08/2002, 22h22
  3. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16
  4. Bases de données
    Par dev dans le forum C++Builder
    Réponses: 4
    Dernier message: 01/07/2002, 22h55
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

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