SQLite : erreur "database not open"
salut
j'essaye de créer une BD SQLite et exécuter des requetes avec l'API Qt, j'ai ecrit le code suivant:
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
| if(!ifstream("users.db")){
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","userconnection");
db.setDatabaseName("users.db");
if(!db.open()){
//QMessageBox::information( 0, "Unable to open database", configdb.lastError().databaseText());
} else
{
QSqlQuery query;
query.exec("create table user(login char(10), pwd char(10), groupe char(20));");
query.exec("insert into user values ('admin', 'admin', 'administrator');");
db.close();
}
QSqlDatabase::removeDatabase("userconnection");
}
if(!ifstream("config.db")){
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","configconnection");
db.setDatabaseName("config.db");
if(!db.open()){
//QMessageBox::information( 0, "Unable to open database", configdb.lastError().databaseText());
} else
{
QSqlQuery query;
query.exec("create table nodes (nodename varchar(20) primary key,IPadr varchar(20))");
query.exec("insert into nodes values ('node1', '192.168.1.1');");
query.exec("create table modules (ID int primary key, modulename varchar(20) ,node varchar(20),type varchar(20))");
db.close();
}
QSqlDatabase::removeDatabase("configconnection");
} |
et lors de l'execution j'ai :
QSqlQuery::exec: database not open
QSqlQuery::exec: database not open
QSqlDatabasePrivate::removeDatabase: connection 'userconnection' is still in use, all queries will cease to work.
QSqlQuery::exec: database not open
QSqlQuery::exec: database not open
QSqlQuery::exec: database not open
QSqlDatabasePrivate::removeDatabase: connection 'configconnection' is still in use, all queries will cease to work.
???