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 : 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
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.
???