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 :

[MFC] ADO connection


Sujet :

MFC

  1. #1
    Membre confirm�
    Inscrit en
    Avril 2002
    Messages
    180
    D�tails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 180
    Par d�faut [MFC] ADO connection
    Salut
    Salut Je debute avec la programation Windows et les MFC.
    Holala ces pas evidant du tout, je lit boucoup dans les bouquins et sur Internet mais ya des fois ou l'information n'y est pas ou est incomplete je crois

    bon voila mon probleme.

    Pour que les objet ADO soit reconue dans la totalite de laplication il faut rajouter le code suivant dans la methode init instance conne suit:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    BOOL CMon_app::InitInstance()
    {
        if (!AfxOleInit());
        {
            AfxMessageBox(_T("Echeque a l'initialisation OLE"));
            returen(False);
         }
         AfxEnableControlContainer();
         ...
    puis editer le fichier atdafx.h comme suit:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    #import"C:\Program Files\Common Files\System\ADO\MSADO15.DLL" \
    	rename_namespace("ADOCG") rename("EOF","EndOfFile")
    using namespace ADOCG;
    ensuite on devrait pouvoir tester la connection par exemple
    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
     
    void CAvance::OnBt1() 
    {
     
    	// TODO: Add your control notification handler code here
    	CComboBox *cmb1=(CComboBox*)GetDlgItem(IDC_COMBO1);
     
    	_ConnectionPtr cn;
    	_RecordsetPtr rs;
     
    	creation de la connection
    	cn.CreateInstance(__uuidof(Connection));
     
    	cn->ConnectionString="provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\\gestionaire\\database\\fleuriste2000.mdb";
    	cn->ConnectionTimeout=30;
    	cn->Open("","","",-1);
     
     
    	creation du recordset
    	rs.CreateInstance(__uuidof(Recordset));
    	rs->CursorLocation=adUseServer;
    	rs->CursorType=adOpenDynamic;
    	rs->LockType=adLockReadOnly;
    	rs->Open("select date from t_avance",cn.GetInterfacePtr(),adOpenDynamic,adLockReadOnly,-1);
     
    	rs->MoveFirst();
    	while(!rs->EndOfFile)
    	{
    		_variant_t valeur;
    		valeur=rs->GetCollect("date");
    		cmb1->AddString((char*)_bstr_t(valeur));
    		rs->MoveNext();
    	}
    	rs->Close();
     
     
    }
    et bien ca ne marche pas
    Ala compilation ces OK
    A l'editeur de lien ces OK
    A l'execution ca plante royallement le message d"ereur retourne est
    <<This Application ahs requested The runtime to terminate it in a unusual way>>
    Je ne comprend pas!?? si vous avez une idee ou avez deja resolu un probleme semblable dite le moi SVP.

    tous vos truquee et conseil sont apprecier

  2. #2
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    9
    D�tails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 9
    Par d�faut
    je te conseil pour aller bp plus vite d'utilise l'encapsulation des classes ADO fournie par Pierre (pdl).

    je pense que bp les ont utilisee avec de bons (tres bons) resultats.

    je peux te filer un coup de main pour les mettre en oeuvre.

    Pat

  3. #3
    Membre confirm�
    Inscrit en
    Avril 2002
    Messages
    180
    D�tails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 180
    Par d�faut La ca va faire neophite
    L'idee d'utiliser l'encapsulation Ado de P.Delport me convien tout a fait et encore plus avec votre aide.

    Excusemoi de faire aussis debutant avec cette question
    Pour utiliser ces classe il faut inclure le fichier d'entete puis la brairie au projet.
    Pour le fichier d'entete j'ai fait <<add file to folders>> puis je l'ai inclue sous l'onglet Headers file je croie que la ca va.
    pour inclure la birairie <<Aucune espece d'idee>> ca doit etre dans

    Project->Settings...->???quelquepar???

    si vous pouviez m'aider un peut je vous en serait tres reconnaisant

    un Philippe V enthousiasme
    Merci

  4. #4
    pdl
    pdl est d�connect�
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    30
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 30
    Par d�faut
    Deux mani�res sont possibles :

    Soit dans Project->Settings, puis l'onglet Link Object/Ligrary Module, tu ajoutes le fichier ADOLib.
    Soit tu ajoutes le fichier ADOLib.Lib comme tu ajouterais un autre fichier .h ou .cpp dans ton projet.

    Bon travail,

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 9
    Dernier message: 18/09/2006, 16h22
  2. [MFC/ADO] Pb insertion d'enregistrement ?
    Par ddaime dans le forum MFC
    R�ponses: 2
    Dernier message: 08/06/2006, 13h28
  3. [mfc][ado][access] Temps de chargement tr�s tr�s long
    Par julien.nasser dans le forum MFC
    R�ponses: 3
    Dernier message: 12/05/2006, 15h57
  4. [MFC][ADO][ACCESS] temps de chargement tr�s tr�s long
    Par julien.nasser dans le forum Access
    R�ponses: 2
    Dernier message: 12/05/2006, 15h34
  5. [MFC] ADO et operateur delete
    Par 0xYg3n3 dans le forum MFC
    R�ponses: 9
    Dernier message: 26/03/2005, 14h38

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