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

Visual C++ Discussion :

Problème : MYSQL++ et connect()


Sujet :

Visual C++

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut Problème : MYSQL++ et connect()
    Problème quand tu nous tiens.....

    Dans mon programme sous visual 6.0, j'utilise la fonction connect comme ceci:
    (avec #include <mysql++> au préalable)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CMyApp *pApp = static_cast<CMyApp *>(AfxGetApp());
     
    pApp->pConn->connect("db","localhost","root","yop",0,0,60,0,0);
    et je me retrouve avec l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error C2660: 'connect' : function does not take 9 parameters
    Lorsque j'enlève tous les paramètres je n'ai plus d'erreur mais je me retrouve bien embêté pour indiquer sur quelle base me connecter

    Ayant le manuel de référence juste à coté je peux assurer au programme
    que si connect prend 9 paramètres mais tétu comme il est il ne veut pas me croire.

    POURQUOIIIIIIIIIIIIIIII?

    En plus je suis sur que c'est très bête

  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,
    c'est le prototype de la fonction qu'il faut regarder !!!
    dans ce cas moi j'utiliserai plutôt real_connect:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      bool   real_connect (cchar *db = "", cchar *host = "", 
                   cchar *user = "", cchar *passwd = "", uint port = 0,
                   my_bool compress = 0, unsigned int connect_timeout = 60,
                   cchar *socket_name= "", unsigned int client_flag=0); //:
    tu peux remplir les arguments jusqu'a passwd..
    la definition de connect:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     bool   connect (cchar *db = "", cchar *host = "", 
              cchar *user = "", cchar *passwd = "");

  3. #3
    Membre expérimenté Avatar de Rupella
    Inscrit en
    Février 2005
    Messages
    286
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 286
    Par défaut
    tu peux te passer allègrement des derniers parametres numériques que tu donnes.

    en général, suffisent amplement les parametres suivants :
    - nom de la base
    - nom de la table
    - utilisateur
    - mot de passe

    et donc, ca deviendrait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CMyApp *pApp = static_cast<CMyApp *>(AfxGetApp());
    pApp->pConn->connect("db","localhost","root","yop");
    si c'est pas bon, voir la déclaration de la fonction dans connection.h. Chez moi, elle est déclarée ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	/// \brief Connect to database after object is created.
    	///
    	/// It's better to use the connect-on-create constructor if you can.
    	/// See its documentation for the meaning of these parameters.
    	///
    	/// If you call this method on an object that is already connected
    	/// to a database server, the previous connection is dropped and a
    	/// new connection is established.
    	MYSQLPP_EXPORT bool connect(cchar* db = "", cchar* host = "",
    			cchar* user = "", cchar* passwd = "", uint port = 0,
    			my_bool compress = 0, unsigned int connect_timeout = 60,
    			cchar* socket_name = 0, unsigned int client_flag = 0);
    [Edit] Tout dépend de la version de MySQL++ que tu utilises...

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Donc toutes mes excuses, c'était bien un problème de version.

    Le manuel est pour mysql++ 2.0.5 et j'utilise la version 1.7.1
    (version à utiliser pour VC6 semble t il).

    Lorsque j'utilise les 4 paramètres seulement celà (semble pour l'instant) marcher en toltu cas çe ne fait plus d'erreur.

    real_connect doit aussi marcher je pense.

    Je n'ai pas trouvé le manuel sur cette version et pour éviter d'aller à chaque fois voir dans les descriptifs, j'aimerai savoir comment me le procurer.

    J'ai trouvé celui de la versio 2.0.5 ici.

    Merci bien

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Bon alors en fait maintenant j'ai un autre problème.

    Un genre que je n'arrive jamais à résoudre: un problème de link.

    Comme je n'avais plus d'erreur "de C++", j'ai fait une rebuild all
    et là catastrophe.

    J'ai mis en commentaire toutes les parties de codes utilisant mysql++
    et je n'ai plus eu d'erreur.

    En enlevant les commentaires de juste une ligne, celle là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CMyApp *pApp = static_cast<CMyApp *>(AfxGetApp());
    //init the structure
    pApp->pConn->connect("db","localhost","root","");
    //c'est celle là
    J'ai eu ces erreurs:
    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
    libcd.lib(crt0dat.obj) : error LNK2005: _exit already defined
    in msvcrtd.lib(MSVCRTD.dll)
    libcd.lib(crt0dat.obj) : error LNK2005: __exit already defined
    in msvcrtd.lib(MSVCRTD.dll)
    libcd.lib(crt0init.obj) : error LNK2005: ___xc_z already defined
    in msvcrtd.lib(cinitexe.obj)
    libcd.lib(crt0init.obj) : error LNK2005: ___xc_a already defined
    in msvcrtd.lib(cinitexe.obj)
    libcd.lib(crt0init.obj) : error LNK2005: ___xi_z already defined
    in msvcrtd.lib(cinitexe.obj)
    libcd.lib(crt0init.obj) : error LNK2005: ___xi_a already defined
    in msvcrtd.lib(cinitexe.obj)
    libcd.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined
    in msvcrtd.lib(MSVCRTD.dll)
    msvcrtd.lib(MSVCRTD.dll) : error LNK2005: __setmbcp already defined
    in libcd.lib(mbctype.obj)
    LINK : warning LNK4098: defaultlib "msvcrtd.lib" conflicts with
    use of other libs; use /NODEFAULTLIB:library
    msvcrtd.lib(cinitexe.obj) : warning LNK4098: defaultlib "libcd.lib"
    conflicts with use of other libs; use /NODEFAULTLIB:library
    libcd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
    Debug/ARCAFACT.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.
    Ca me fait dire que j'ai peut être mal intégré mysql++ mais celà
    m'étonne parce que j'ai pas mal passé de temps pour trouver
    (avec l'aide de ce forum et particulièrement de farscape merci encore )
    DE plus quand j'utilise l'API C de mysql celà marche

  6. #6
    Membre expérimenté Avatar de Rupella
    Inscrit en
    Février 2005
    Messages
    286
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 286
    Par défaut
    je ne crois pas qu'il y ait une version de la lib qui soit pour telle ou telle version de VC++.

    ton problème de link doit venir de la façon dont tu as compilé la lib MySQL++.
    au niveau de la runtime library. il faut utiliser la meme option de compilation que ton application... j'ai bcp galéré avec ca...

  7. #7
    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
    Citation Envoyé par Rupella
    je ne crois pas qu'il y ait une version de la lib qui soit pour telle ou telle version de VC++.
    salut,
    depuis les dernieres versions de vc 2003 et 2005 non.
    si tu essayes la derniere version de mysql avec vc6 ça ne fonctionnera pas.
    la seule version qui fonctionne avec c'est la 1.7.1 et elle n'est plus supportée...
    http://farscape.developpez.com/Sampl.../MysSql1.7.zip

    le probleme etant l'implementation de la STL et du respect de la norme par les compilos.


  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Citation Envoyé par Rupella
    ton problème de link doit venir de la façon dont tu as compilé la lib MySQL++.
    au niveau de la runtime library. il faut utiliser la meme option de compilation que ton application... j'ai bcp galéré avec ca...
    Excuse moi de te demander ça. mais tu peux me donner un peu la marche à suivre parce que là je suis perdu dans ce que tu viens de me dire.

  9. #9
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Je viens d'avoir l'éclair de génie............ou plutot de mieux
    comprendre ce que tu as dit.

    J'ai ouvert le worskpace mysqll et dans project->settings->c/C++
    Category code generation j'ai mis debug multitrhead dll comme
    pour mon projet

    J'ai bon?
    En tout cas ça a l'air de marcher.

  10. #10
    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
    oui

  11. #11
    Membre expérimenté Avatar de Rupella
    Inscrit en
    Février 2005
    Messages
    286
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 286
    Par défaut
    BRAVO gigigao !! ct effectivement ca...

    >> le probleme etant l'implementation de la STL et du respect de la
    >> norme par les compilos.
    oui, c'est vrai, j'avais oublié, au temps pour moi... ca change tout effectivement.

  12. #12
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Par défaut
    Citation Envoyé par Rupella
    BRAVO gigigao !! ct effectivement ca...
    Là je sens qu'on se moque

    En même temps c'est mérité. Je peux être très très lent je sais

    Je vous dis à la prochaine erreur super compliqué............enfin pour moi

    En tout cas merci.

    A pluche

  13. #13
    Membre expérimenté Avatar de Rupella
    Inscrit en
    Février 2005
    Messages
    286
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 286
    Par défaut
    loin de moi cette idée !
    j'ai mis plusieurs jours avant que ca marche...

Discussions similaires

  1. probléme update avec mysql remote connection
    Par chungech dans le forum Requêtes
    Réponses: 0
    Dernier message: 26/09/2010, 20h56
  2. Réponses: 2
    Dernier message: 18/06/2009, 17h25
  3. problème pour me connecter à Firebird
    Par vbcasimir dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 05/01/2005, 19h53
  4. Problème MySQL 4.1 et PHPMyADMIN
    Par Acti dans le forum Installation
    Réponses: 5
    Dernier message: 29/10/2004, 02h19
  5. [MySql] Se connecter sous Free???
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/05/2004, 23h22

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