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é !)