Bonjour,
J'essaie de faire fonctionner l'exemple avec la table 'drug'. Je parviens à compiler un executable qui ne doit pas être correct car il ne fonctionne pas.
J'ai simplement modifié l'exemple pour qu'il utilise une base postgreSQL.
Voici le code que j'ai modifié dans main.cpp:
Et voici ce que je recoit comme erreurs a l'execution:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // Init parameters to communicate with a database qx::QxSqlDatabase::getSingleton()->setDriverName("QPSQL"); qx::QxSqlDatabase::getSingleton()->setDatabaseName("ctAr"); qx::QxSqlDatabase::getSingleton()->setHostName("localhost"); qx::QxSqlDatabase::getSingleton()->setUserName("postgres"); qx::QxSqlDatabase::getSingleton()->setPassword("postgres"); qx::QxSqlDatabase::getSingleton()->setPort(5432);
Cela veut dire que QxOrm genere du code SQL non compatible avec postgresql. J' ai builde la lib dans qt, en suivant l' explication a cette page:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ubuntu@ubuntu-desktop:~/dev/testQxOrm/src$ g++ *.cpp -I ../include -I /home/ubuntu/dev/tools/QxOrm/include -I /usr/share/qt4/include -L/home/ubuntu/dev/tools/QxOrm/lib/ -lQxOrm ubuntu@ubuntu-desktop:~/dev/testQxOrm/src$ locate libQxOrm /home/ubuntu/dev/tools/QxOrm/lib/libQxOrm.so /home/ubuntu/dev/tools/QxOrm/lib/libQxOrm.so.1 /home/ubuntu/dev/tools/QxOrm/lib/libQxOrm.so.1.2 /home/ubuntu/dev/tools/QxOrm/lib/libQxOrm.so.1.2.1 ubuntu@ubuntu-desktop:~/dev/testQxOrm/src$ ./a.out [QxOrm] qx::QxSqlDatabase : create new database connection in thread '-1215686352' with key '{477a3b29-d291-4bd4-b121-66448a120a84}' [QxOrm] execute sql query failed : CREATE TABLE drug (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT, desc TEXT) QPSQL: Unable to create query ERROR: syntax error at or near "AUTOINCREMENT" LINE 1: ...REATE TABLE drug (id INTEGER NOT NULL PRIMARY KEY AUTOINCREM...
http://developer.qt.nokia.com/doc/qt...ver.html#qpsql
Apres avoir compile boost et QxOrm.
Auriez-vous une idee sur ce comportement ?
Merci beaucoup,
Ludovic
Partager