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] Afficher des champs de CRecordSet dans des MessageBox


Sujet :

MFC

  1. #1
    Membre du Club Avatar de jlassira
    Inscrit en
    Mai 2005
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 228
    Points : 61
    Points
    61
    Par défaut [MFC] Afficher des champs de CRecordSet dans des MessageBox
    je desire tt simplement le contenu de ma table CARD dans des messagebox successifs ( pour commencer )..mon code actuel ne marche pas
    voiçi mon code :

    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
     
     
    void CDatabaseConnector::GetODBCConnection()
    {
     
    	CDatabase mydb;
     
    	//if( !mydb.OpenEx( _T( "ODBC;DSN=MYDATASOURCE;UID=;PWD=" ), CDatabase::openReadOnly )
    if( !mydb.OpenEx( _T( "ODBC;DSN=SPIN;UID=;PWD=" ), 2 ))
    	{
        AfxMessageBox("Impossible d'ouvrir la base de donnée en lecture seule");
        return;
    }
    else
    {
        AfxMessageBox("Test d'ouverture réussi");
        mydb.ExecuteSQL("select * from CARD");
    }
     
    CRecordset r(&mydb);
     
    //... utilisation
     
    while(!r.IsEOF)
    { 
      CString  str = r.GetFieldValue(i,"");
      AfxMessageBox("la veleur du champ" est + r); // erreur deja ici mais ej sais pas comment concatener 2 chaines  dans un messagebox
      r.MoveNext();
    }
    r.Close();  // Je ferme d'abord le recordset
    mydb.Close();  // Je me déconnecte
     
    // je me reconnecte à une autre source de données
     
    }
    et voiçi la structure de ma table oracle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    champ1:Date
    champ2:Varchar2(50)
    champ:Number(1);
    champ:Number(10)
    pourriez vosu m'aidez !! ai ej bien parcouru mon recordset ? et comment effecteur l'affichage des champs ( en tenant compte de la concersion de leur type pour etre utilise dans un messagebox )

    j'utilise C++ sosu VS2003 ( donc la version VC7)

    merci


    [Titre modifié par Loulou24, merci d'utiliser des titres explicites à l'avenir]

  2. #2
    Membre émérite
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Points : 2 747
    Points
    2 747
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CString strAfficher = "la veleur du champ est : " + str;
    AfxMessageBox(strAfficher);

  3. #3
    Membre du Club Avatar de jlassira
    Inscrit en
    Mai 2005
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 228
    Points : 61
    Points
    61
    Par défaut
    merci !!!

    mais mon code demeure quand meme non fo,ctionnel!! je n'aarrive pas a lme connecter à la base pourtant elle existe bel et bien et bien configurée!!! ai je oublié quelquechose avant d'exploiter mon recordset ?

  4. #4
    Membre du Club Avatar de jlassira
    Inscrit en
    Mai 2005
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 228
    Points : 61
    Points
    61
    Par défaut
    alors pourrait on me dire ou se trouve l'erreur dans mon code? pourquoi je n'arrive pas a em connecter à ma base ODBC Oracle qui est deja configurée ? et comment je peux parcourir le recordset et laffecter respectivement chaque valeur de chaque ligne resultat dabns une variable de même type etant donnée le schema de ma table

  5. #5
    Membre du Club Avatar de jlassira
    Inscrit en
    Mai 2005
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 228
    Points : 61
    Points
    61
    Par défaut
    y aurait il un exemple semblable au miens pour verifier !! j'avoue que je en comprends pas ou est lm'anomalie et je suis vraiement bloqué !

  6. #6
    Membre émérite
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Points : 2 747
    Points
    2 747
    Par défaut
    si tu mettais le tout dans un try catch avec CDBException et que tu regardais l'erreur en question ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Points : 343
    Points
    343
    Par défaut
    Citation Envoyé par la drogue c'est mal
    [...]un try catch avec CDBException[...]
    putin j'ete pas au courant qu'il existait déja une classe d'exception nommée CDBException : heureusement que j'utilise pas les MFC car y'aurai un conflit entre ma classe CDBException et celle des database ^^
    On en apprend tous les jours

  8. #8
    Membre du Club Avatar de jlassira
    Inscrit en
    Mai 2005
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 228
    Points : 61
    Points
    61
    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
     
     
    try {
     
    CSPINCardList *m_CSPINCardList = CSPINCardList::GetInstance(); 
    CVCAConfig *m_VcaConfig = CVCAConfig::GetInstance();
    CDatabase mydb;
     
     if( !mydb.OpenEx( _T( "DSN=SPINCV.TELNET.TUNIS;UID=stager;PWD=stager" ), 2 ))
    	{
        AfxMessageBox("Impossible d'ouvrir la base de donnée en lecture seule");
        return;
    }
    else
    {
        AfxMessageBox("Test d'ouverture réussi");
        mydb.ExecuteSQL("select * from CARD");
        CRecordset r(&mydb); 
     
      //... extraction et affectation des données
     while(!r.IsEOF())    
    {            
        CSPINCard a ;
     
    	// remplir a avec les attributs correspondants
     
    	 // ... pour l'instant je ne veux rien faire 
     
    	//ajouter la fiche resultat a l'ensembel deja existant
              m_CSPINCardList->CurrentSPINCardList.Add(a);
     
    	//CAlphaManager m_CAlphaManager;     
     
    }
     
    if ( r.GetODBCFieldCount() == 0 )
    {
     
    	AfxMessageBox("la base est vide ! " ) ;
    }
     
    if ( r.GetODBCFieldCount() < 10 )
    {
     
    	AfxMessageBox("la base ne contient pas toutes les fiches SPIN! " ) ;
    }
     
    r.Close();  // Je ferme d'abord le recordset
    mydb.Close();  // Je me déconnecte
     
     
    }
     
    }
     
    catch ( CDBException e)
    {
        AfxMessageBox(e.GetErrorMessage());
     
     
    }


    et aparamment CDBException n'est pas reconnue par le compilateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CDatabaseConnector.cpp(65): error C2316: 'CDBException' : ne peut pas être intercepté en tant que destructeur et/ou le constructeur de copie est inaccessible

Discussions similaires

  1. Afficher le résultats dans des champs de texte
    Par mehdi.cheddani dans le forum VB.NET
    Réponses: 22
    Dernier message: 31/03/2013, 17h16
  2. [Google Maps] Afficher un champ de texte dans des marker
    Par hiden dans le forum APIs Google
    Réponses: 3
    Dernier message: 20/06/2012, 20h37
  3. Réponses: 2
    Dernier message: 27/06/2007, 10h42
  4. Afficher les coordonnées d'un layer dans des champs texte
    Par renaud26 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 15/08/2006, 13h53
  5. Calcul dans des champs de saisie
    Par leeloo076 dans le forum ASP
    Réponses: 4
    Dernier message: 07/04/2004, 10h09

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