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] et connexion a une base MySql en C++


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Par d�faut [MFC] et connexion a une base MySql en C++
    Bonjour,

    J'ai un ptit probl�me et je voudrais savoir si quelqu'un pourra�t m'�clairer !

    Lors de l'ouverture de mon application MFC, je voudrais que une connexion � la base de donn�es soit r�alis�.

    Voici mes questions
    1� comment etre sur que une fois l'application, il n'y ait pas besoin de faire une demande de connexion lors des travaux sur la table

    2� Refermer la connexion lors de la fermeture de l'application. ( pour ca, je pense que c sur mon bouton "quitter" que je doit faire ...)

    Je vous remecie

  2. #2
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    rien compris a la question 1.
    la connexion tu la fermes quand tu veux par exemple dans ExitInstance (classe d'application).

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Par d�faut
    et bien en fait, je ne voit pas comment faire pour me connecter a la base lors de l'ouverture de l'appli et que la connexion reste pour que les differentes fonctions de mon appli puisse r�aliser des requetes sur ma base sans avoir � ce reconnecter � chaque fois ...

    Si t'as un lien pour m'expliquer sa ... parce que la, mon script ne se connecte meme po !

  4. #4
    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
    C'est une tr�s chouette question.

    Le probl�me qu'on rencontre souvent est que l'on g�re mal une connexion � une base de donn�es. Il y a de ces gens qui sans le savoir ouvre plus d'une dizaine de fois des connexions � leur bd lorsqu'il clique sur des boutons de leurs interfaces. Ne parlons m�me des appli web. La connexion � la base est r�ouverte � chaque chargement de la page. Ce qui est grave.
    Lorsque la connexion est ouverte elle doit �tre pr�cieusement garder et m�me, elle doit �tre mise en cache si possible. Avec un d�veloppement sous OLE DB, ATL fournit la classe CDataSourceCache dont l'instance de cette classe doit demeurer dans un objet dont sa dur�e de vie est �gale � celle de l'application et particuli�rement dans la classe de module pour une dll ATL.
    S'il l'on utilise ODBC avec les MFC. Je personnalise ma classe CDatabase et je le sauvegarde dans l'objet l'application.

    Il est pr�f�rable d'ouvrir la connexion le plut�t possible une et une seule fois dans toute l'application dans le InitInstance de l'objet application.
    Et il faut fermer la connexion le plutard possible dans Existance de l'objet application

    Si un recordset qui � besoin de la connexion � ma bd
    je fais simplement
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    CRecordset rs;
    rs.m_pDatabase = &myOnlyOneConnectedDatabase;
    // ...

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Par d�faut
    oula, jai pas tout compris mais bon, c'est possible si je met mon script au dans le InitInstance alors ...

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    142
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 142
    Par d�faut
    voici le code que j'utilise pour me connectere, por, il ne fonctionne po et la, je comprend pas pourquoi, tout me semble normal !

    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
     
    #include <mysql.h> 
    #include <iostream>
    #define MYSQL_DB "aquarium"
     
    #pragma comment(lib, "libmysql.lib") // libmysql.dll doit etre dans le meme rep.
    using namespace std;
    int main(void)
    {
     MYSQL mysql;
     const char *host  = "127.0.0.1"; // Adresse du serveur MySQL
     const char *user  = "Nelmo"; // Nom d'utilisateur
     const char *pass  = "matrix"; // Mot de passe
     const char *db    = "aquarium"; // Base de donnée
     
     //MYSQL_RES *result;
     
     system("cls");
     
     mysql_init(&mysql);
     //mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"main");
     if (!mysql_real_connect(&mysql,host,user,pass,db,3306,NULL,0)) //connexion
      {
       cout<<"connexion Failed";
       return (0);
            }
            else
      {
       cout<<"connexion reussi";
      }
     
      /*(mysql_select_db(&mysql,MYSQL_DB)) 
      {
                    mysql_close(&mysql);
        system("pause");
            }*/
            mysql_close(&mysql);
      return 0;
    }
    Voila, jespere que vous pourrez m'aider, je suis en train de me ronger la tete ... hihihihi

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

Discussions similaires

  1. erreur connexion a une base mysql
    Par klemellill dans le forum JBuilder
    R�ponses: 9
    Dernier message: 03/05/2007, 16h45
  2. connexion a une base mysql : accessed denied
    Par ghita269 dans le forum SQL Proc�dural
    R�ponses: 1
    Dernier message: 17/09/2006, 11h01
  3. probl�me de connexion sur une base mysql
    Par boss_gama dans le forum Installation
    R�ponses: 4
    Dernier message: 05/09/2006, 14h13
  4. Voir le nombre de connexion d'une base MYSQL ?
    Par zmania69 dans le forum SQL Proc�dural
    R�ponses: 1
    Dernier message: 31/08/2006, 18h22
  5. Connexion sur une base Mysql distante (non locale)
    Par externa dans le forum SQL Proc�dural
    R�ponses: 2
    Dernier message: 20/02/2006, 11h34

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