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)

  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 899
    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 899
    Points : 219 808
    Points
    219 808
    Billets dans le blog
    125
    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

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