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 :

Visual C++ .NET 2003 & BDD


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut Visual C++ .NET 2003 & BDD
    Bonjour à tous!

    Je débute en programmation objet et j'ai besoin de vos conseils avisés

    Je souhaite développer une application en c++ qui gère les réservations dans un hotel. (pour le BTS IG...) Biensûr cette application devra enregistrer des données dans une base (créer sur access idéalement) et les récupérer sur demande

    Avant de me lancer dans le projet je me suis un peu renseigné, j'ai parcouru la FAQ C++ et celle de Visual C++ et j'ai lu quelques cours.

    Ca me semble assez compliqué. Bref, pour le moment ce que j'ai compris, c'est que pour accéder à une base de données il fallait utiliser les MFC.

    J'ai donc créer un projet MFC dans lequel j'ai ajouté: Add class -> MFC ODBC Consumer. Ensuite j'ai cliqué sur Data source et j'ai choisi une Source de données fichier (que j'avais créer au préalable en fonction de ma base de données Access).

    Après avoir validé, j'ai deux nouveaux fichiers qui sont nom_de_ma_table.h et nom_de_ma_table.cpp.

    Suis je dans la bonne voie ou faut il que j'arrête les dégâts dès maintenant ? lol

    Merci pour votre aide.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    tu peux aussi utiliser ADO.Net si tu veux utiliser le framework .Net

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    Mais ça semble déjà plus compliqué n'est ce pas?

    Je viens de tomber sur http://c.developpez.com/faq/vc/?page=ODBC et il semble que le peu que j'ai fait soit correcte. J'ai tout de suite essayé de debugger en appuyant sur F5 mais apres avoir débugger, il me demande l'Executable file name et il me propose internet explorer, activeX control Test container, regsrv32 et browse... Que choisir, là je suis un peu perdu

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    t'as du choisir de faire une dll comme projet, non ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    Ah non lorsque j'ai créer, j'ai choisi MFC ActiveX control... Je viens de voir juste à coté qu'il y avait MFC application... c'était celui là que j'aurais du choisir c'est ça?

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    absolument, pour faire une application

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    mais je souhaite le faire sous forme de ligne de commande, à l'ancienne car je n'aurais pas le tps alors qu'est ce que je dois choisir dans ce cas? (faire une appli ligne de commande mais qui gère les connexions bases de données)

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    c'est bon je crois que j'ai compris. Il fallait que je crée un projet "console win32" et que je coche: ajout support MFC. Ensuite, une fois le projet créé, j'ajoute une classe MFC ODBC Consumer comme je l'ai fait la première fois. c'est ca?

  9. #9
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    le principe est bon, sauf que mon aide s'arrete là, j'y connais rien en BD avec MFC

  10. #10
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par Remedy
    c'est bon je crois que j'ai compris. Il fallait que je crée un projet "console win32" et que je coche: ajout support MFC. Ensuite, une fois le projet créé, j'ajoute une classe MFC ODBC Consumer comme je l'ai fait la première fois. c'est ca?
    Que veux-tu faire ?

    Il suffit de créer un projet Dialog Based /MFC c'est vraiment + simple.
    Après on peut utiliser ADO effectivement.
    Pour accéder à ADO , utiliser QueryInterface puis créer une connection et des recordset.
    Utiliser msadolib.dll..

    Tout est là
    http://msdn.microsoft.com/library/de...sinvisualc.asp

    http://msdn.microsoft.com/library/de...vefirstxvc.asp
    http://msdn.microsoft.com/library/de...nstringxvc.asp

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    Citation Envoyé par nico-pyright(c)
    le principe est bon, sauf que mon aide s'arrete là, j'y connais rien en BD avec MFC
    Merci pour ton aide déjà

    Citation Envoyé par mat.M
    Que veux-tu faire ?
    Une application qu'un membre du personnel d'un hotel puisse utiliser pour enregistrer un nouveau client, lui attribuer une chambre, lister les chambres libres etc... Le coté estétique n'est pas primordial, car je n'ai pas beaucoup de tps (un peu en retard je l'avou ) c'est pourquoi je pensais faire comme je le fais depuis que je prog en C c'est à dire avec la console noire dégeulasse lol

    Citation Envoyé par mat.M
    Il suffit de créer un projet Dialog Based /MFC c'est vraiment + simple.
    Comment? dans le menu ajout nouveau projet, je ne vois nulle part Dialog Based... Et en quoi cela consiste exactement? Est ce plus long que de faire avec une console comme je l'ai expliqué plus haut?

    Citation Envoyé par mat.M
    Après on peut utiliser ADO effectivement.
    Pour accéder à ADO , utiliser QueryInterface puis créer une connection et des recordset.
    Utiliser msadolib.dll..
    Après quoi? Après avoir créer un Dialog based on mfc ou après avoir créer un projet comme je l'ai fait (Win 32 qui supporte MFC) ?
    Quel est l'avantage entre DAO et ODBC? Et les inconvénients pendant qu'on y est?

    msadolib.dll? comment l'utiliser?

    Je suis désole, ca fait beaucoup de questions, mais même en faisant des recherches, en lisant les FAQ et les cours, ça reste assez compliqué à assimiler tout ça!

    Merci pour votre aide en tout cas!

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    // essai.cpp : Defines the entry point for the console application
     
    #include "stdafx.h"
    #include "essai.h"
    #ifdef _DEBUG
    #definenew DEBUG_NEW
    #endif
    // The one and only application object
    CWinApp theApp;
    #include<iostream>
    usingnamespace std;
    int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
    {
    int nRetCode = 0;
    // initialize MFC and print and error on failure
    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
    // TODO: change error code to suit your needs
    _tprintf(_T("Fatal Error: MFC initialization failed\n"));
    nRetCode = 1;
    }
    else
    {
    // TODO: code your application's behavior here.
    }
    return nRetCode;
    }
    
    typedefchar chaine[20];
    class cl_hotel
    { //code };
    
    class cl_chambre
    { // code };
    class cl_client
    { //code };
    class cl_reservation
    { // code };
    // ____________________________________________________________________________
    cl_hotel::cl_hotel(void)
    { //code }
    void cl_hotel::menu()
    { // code }
    void cl_hotel::modif_taille()
    { // code }
    cl_chambre::cl_chambre(void)
    { // code };
    void cl_chambre::lister_chambres()
    { // code }
    void cl_chambre::menu()
    {// code}
    
    void main()
    {
    int iChoix;
    cl_hotel h;
    cl_chambre c;
    do
    {
    system("cls");
    cout << "Menu principale:" << endl << endl << "1. L'hotel" << endl << "2. Les chambres" << endl << "3. Les clients" << endl << "4. Les reservations " << endl << "0. Quitter " << endl << "Votre choix ? ";
    cin >> iChoix;
    switch(iChoix)
    {
    case 1: h.menu();
    break;
    case 2: c.menu();
    break;
    case 3:
    break; 
    }
    }while(iChoix!=0);
    }
    
    Message d'erreur lorsque je compile:

    error C2731: 'main' : function cannot be overloaded

    see declaration of 'main'

  13. #13
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ce que tu as dans la fonction main doit etre mis dans la fonction _tmain, et virer la fonction main. _tmain le point d'entrée de l'appli console

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    ok merci beaucoup!

  15. #15
    mat.M
    Invité(e)
    Par défaut
    msadolib.dll? comment l'utiliser?
    Est-ce que tu lis ce que j'ai écris PRECISEMENT ?

    J'ai donné très précisément 3 liens sur le MSDN en win32 console à toi de les adapter.
    Si tu ne lis pas ce qu'on écrit alors on peut pas t'aider

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    Oula relax En effet je ne les avais pas vu au moment où j'ai répondu mais après en relisant je les ai vu. D'ailleurs le premier de tes liens est mort.

    Je ferais plus attention la prochaine fois. Cela étant dit, rien ne sert de s'énerver .

    Merci en tout cas car les deux liens on l'air de correspondre parfaitement. J'essayes tout ça de ce pas !


  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    bon, j'ai créé un projet console win 32 simple.

    J'y ai copié le code fournit dans le deuxième lien et j'ai une seule erreur qui est:
    fatal error C1083: Cannot open type library file: 'msado15.dll': No such file or directory


    J'ai donc cherché la dll sur mon disque et essayé de la mettre dans le répertoire "resource file" de mon projet mais toujours rien.

  18. #18
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par Remedy
    Je ferais plus attention la prochaine fois. Cela étant dit, rien ne sert de s'énerver .
    Ok y'a pas de mal .
    S'il y a message d'erreur c'est que le chemin de la dll est mal spécifié.
    Utiliser \\ le cas échéant

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    Citation Envoyé par mat.M
    Ok y'a pas de mal .
    S'il y a message d'erreur c'est que le chemin de la dll est mal spécifié.
    Utiliser \\ le cas échéant

    Bien joué! De cette façon ça marche!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #import "C:\Program Files\Fichiers communs\System\ado\msado15.dll" \
    no_namespace rename("EOF", "EndOfFile")
    

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 114
    Par défaut
    dans la fonction ConnectionStringX() il y a deux fonctions (???) présentées de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    try
    { Code... }
     
    catch(_com_error &e)
    { Code... }
    
    Ce sont réellement des fonctions?

    Deplus dans la fonction try il y a plusieurs bloc qui semble correspondre aux différentes méthodes (ado, oledb, dsn et odb tags...)
    Pour ole db que dois mettre dans data source = 'MySqlServer' lorsque c'est une base access? data source = 'msaccess'?

    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    [Edit]

    Dans tous les cas, en remplaçant les valeur de la chaïne de connection et en commentant les autres morceaux de codes j'ai une erreur qui arrive:

    Unhandled exception at 0x7c81eb33 in essai bis.exe: Microsoft C++ exception: _com_error @ 0x0012f264.
    Et la console de debug m'ouvre le fichier comip.h...
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Qt et Visual Studio .net 2003
    Par charliejo dans le forum MFC
    Réponses: 2
    Dernier message: 10/10/2005, 09h52
  2. Réponses: 3
    Dernier message: 03/10/2005, 11h01
  3. Service NT (Visual studio .Net 2003)
    Par hip_zip dans le forum MFC
    Réponses: 1
    Dernier message: 27/07/2005, 14h06
  4. probleme de link avec visual studio .net 2003
    Par kamal101 dans le forum MFC
    Réponses: 9
    Dernier message: 28/03/2005, 22h44
  5. [C#] Probleme de visual studio.net 2003
    Par gandalfar dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/01/2005, 15h53

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