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++

Vue hybride

gigigao Problème : MYSQL++ et... 24/08/2006, 21h53
farscape salut, c'est le prototype de... 25/08/2006, 07h31
Rupella tu peux te passer allègrement... 25/08/2006, 07h36
gigigao Donc toutes mes excuses,... 25/08/2006, 10h22
gigigao Bon alors en fait maintenant... 25/08/2006, 10h44
Message précédent Message précédent   Message suivant Message suivant
  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...

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