+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Membre régulier
    Homme Profil pro
    Second de cuisine
    Inscrit en
    avril 2005
    Messages
    188
    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 : 188
    Points : 72
    Points
    72

    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 :
    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 :
    1
    2
    #define EXPAND_MY_SSQLS_STATICS
    #include "DatabaseStocks.h"

    Et maintenant, j'ai besoin de ces structures dans Database.cpp:
    Code :
    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 Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    1 447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 1 447
    Points : 1 970
    Points
    1 970

    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 plûtot 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
    188
    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 : 188
    Points : 72
    Points
    72

    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
    17 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 17 086
    Points : 89 654
    Points
    89 654

    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 :
    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 :
    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
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •