Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Mon code fonctionne sous Windows mais pas sous Linux

Bonjour,

Voici un bout de code tout bête que j'utilise pour tester sqlite :
#include <QApplication>
#include <QFont>
#include <QPushButton>
#include <iostream>
#include <stdlib.h>
#include <QSqlDatabase>
#include <QtSql>


#include <string>

using namespace std;

int main(int argc, char* argv[])
{


QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("CD");
db.open();

cout << db.lastError().text().toStdString();


QSqlQuery query;
db.transaction();
query.exec("CREATE OR REPLACE TABLE artist (id INTEGER PRIMARY KEY,name VARCHAR(40) NOT NULL,country VARCHAR(40))");


query.exec("INSERT INTO artist VALUES (15,'tata','@@france')");
query.exec("INSERT INTO artist VALUES (19,'toto','france')");


db.commit();
query.exec("select * from artist where id>10");
while (query.next())
{
int id = query.value(0).toInt();
string name= query.value(1).toString().toStdString();
string country=query.value(2).toString().toStdString();
cout << "test : " << id << "/" << name << "/" << country <<endl;

}
cout << "Fini !" <<endl;

getchar();


}
Ce code fonctionne à merveille sous Windows.

Je l'ai ensuite compilé sans erreur sous Linux. Et la, ca ne fonctionne pas. Aucune erreur mais le fichier CD reste deseperemment vide(0 o) et aucune requete n'affiche de résultats. En revanche, si je copie le fichier CD crée par mon programme sous Windows dans le répertoire de mon programme sous Linux, celui arrive à lire les informations contenues dedans. Bizarre non ? Des idées ?


Merci

Réponses

Connectez-vous ou Inscrivez-vous pour répondre.