关于qt中QSqlDatabase使用:如果使用单一的数据库,以sqlite为例:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
QString dbFileName = "xxx.db";
db.setDatabaseName(dbFileName );
if (db.isOpen()) {
db.open();
}
... //db operator
但是当一个程序中需要使用两个数据库(比如软件更新时拷贝原先数据库中的内容等),则需要操作两个数据库,如果只是相似地使用:
QSqlDatabase db1 = QSqlDatabase::addDatabase("QSQLITE");
QString dbFileName1 = "xxx.db";
db1.setDatabaseName(dbFileName1);
if (db1.isOpen()) {
db1.open();
}
... //db operator
此时往往会出现以下警告,导致数据库执行失败:</