Précédent   Forum du club des développeurs et IT Pro > C et C++ > Bibliothèques > Autres
Autres Vos questions sur les autres bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 02/05/2012, 03h23   #1
DakM
Membre du Club
 
Homme nico
Second de cuisine
Inscription : avril 2005
Messages : 143
Détails du profil
Informations personnelles :
Nom : Homme nico
Localisation : France, Paris (Île de France)

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

Informations forums :
Inscription : avril 2005
Messages : 143
Points : 42
Points : 42
Envoyer un message via MSN à DakM Envoyer un message via Skype™ à DakM
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:
Citation:
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é !)
DakM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2012, 14h32   #2
supersnail
Membre Expert
 
Avatar de supersnail
 
Homme
Inscription : novembre 2006
Messages : 1 415
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2006
Messages : 1 415
Points : 1 896
Points : 1 896
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 - Sauvons Internet!
supersnail est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2012, 15h00   #3
DakM
Membre du Club
 
Homme nico
Second de cuisine
Inscription : avril 2005
Messages : 143
Détails du profil
Informations personnelles :
Nom : Homme nico
Localisation : France, Paris (Île de France)

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

Informations forums :
Inscription : avril 2005
Messages : 143
Points : 42
Points : 42
Envoyer un message via MSN à DakM Envoyer un message via Skype™ à DakM
Assez con en effet...MAis meme avec cette modif. J'ai une erreur :o (cf, premier post)
DakM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2012, 01h22   #4
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 763
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

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

Informations forums :
Inscription : mai 2008
Messages : 10 763
Points : 42 824
Points : 42 824
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.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h54.


 
 
 
 
Partenaires

Hébergement Web