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

Bibliothèques Discussion :

MySQL++ et ses SSQLS !


Sujet :

Bibliothèques

  1. #1
    Membre régulier
    Homme Profil pro
    Second de cuisine
    Inscrit en
    Avril 2005
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Second de cuisine
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2005
    Messages : 193
    Points : 99
    Points
    99
    Par défaut MySQL++ et ses SSQLS !
    Bonjour.

    J'essaye de definir toutes mes tables mysql en tant que structures, avec les macros ssqls.
    Sans oublier de lire la faq: http://tangentsoft.net/mysql++/doc/h...sqls-in-header

    Voici ce que j'ai:

    DatabaseStocks.h
    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
    #ifndef DBSTOCK
    #define DBSTOCK
     
     
    #if !defined(EXPAND_MY_SSQLS_STATICS)
    #define MYSQLPP_SSQLS_NO_STATICS
    #endif
     
    #include <mysql++/ssqls.h>
     
    sql_create_6(ServersStock,
    	1, 6,
    	mysqlpp::sql_char, linkname,
    	mysqlpp::sql_char, realname,
    	mysqlpp::sql_bool, master,
    	mysqlpp::sql_int, port,
    	mysqlpp::sql_int, maxclients,
    	mysqlpp::sql_float, version)
    /// Server links stock
    sql_create_7(ServerLinksStock,
        1, 7,
    	mysqlpp::sql_char, server,
    	mysqlpp::sql_bool, type,
    	mysqlpp::sql_char, targetname,
    	mysqlpp::sql_char, id,
    	mysqlpp::sql_char, password,
    	mysqlpp::sql_char, ip,
    	mysqlpp::sql_int, port)
     
     
    #endif
    DatabaseStocks.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #define EXPAND_MY_SSQLS_STATICS
    #include "DatabaseStocks.h"

    Et maintenant, j'ai besoin de ces structures dans Database.cpp:
    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
    #include "Database.h"
    #include "DatabaseStocks.h"
     
     
    Database::Database()
    {
    	if (!dblink.connect(db_name, db_host,
    			db_user, db_pass))
        {
            cout << "Could not connect to MySQL ! (Error: " << dblink.error() << ")" << endl;
            exit(1);
        }
        mysqlpp::Query query = dblink.query(Format(strlen(ServerName), "SELECT * FROM `servers` WHERE linkname ='%s'", ServerName));
        if(query.affected_rows() != 1)
        {
            cout << "Could not read server configuration" << endl;
        }
        vector<ServersStock> srvstck;
        query.storein(srvstck);
        cout << srvstck.realname << endl;
    }
    Et voici ce que code::blocks me dit:
    c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\mysql++\ssqls.h|44|error: expected ',' or '...' before '&' token|
    (post édité !)

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Je crois que ton problème se résume a une bête faute de frappe

    Tu définies un type ServersStock, pour utiliser un ServerStock ^^.

    Sinon pense à contrôler le contenu de ta variable ServerName pour limiter les risques de SQL injection (ou encore mieux, utiliser des requêtes préparées si ta bibliothèque le permet)
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  3. #3
    Membre régulier
    Homme Profil pro
    Second de cuisine
    Inscrit en
    Avril 2005
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Second de cuisine
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2005
    Messages : 193
    Points : 99
    Points
    99
    Par défaut
    Assez con en effet...MAis meme avec cette modif. J'ai une erreur :o (cf, premier post)

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 577
    Points
    218 577
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    J'aimerai connaitre ce qui se trouve à la ligne 44 de l'entête qui plante.

    Sinon, je tente un truc idiot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #ifndef DBSTOCK
    #define DBSTOCK
     
     
    #if !defined(EXPAND_MY_SSQLS_STATICS)
    #define MYSQLPP_SSQLS_NO_STATICS
    #endif
     
    #include <mysql++/ssqls.h>
    A changé pour avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #ifndef DBSTOCK
    #define DBSTOCK
     
    #include <mysql++/ssqls.h>
     
    #if !defined(EXPAND_MY_SSQLS_STATICS)
    #define MYSQLPP_SSQLS_NO_STATICS
    #endif
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. MySQL et ses collations : le grand folklore !
    Par SQLpro dans le forum Débuter
    Réponses: 8
    Dernier message: 14/11/2011, 11h10
  2. Réponses: 125
    Dernier message: 27/12/2010, 10h35
  3. [MySQL] Tester ses connaissances PHP et MySQL
    Par MistyMan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/09/2009, 13h14
  4. MySQL, ses procédures stockées et les transactions
    Par Shogun dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/02/2008, 21h19
  5. [MySQL] Comment gérer ses connexions à MySQL
    Par 12monkeys dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/10/2007, 11h52

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