QT+ QSqlite数据库,两个进程操作同一个数据库出现提示:sqlError(5,“unable to fetch row”,“databse is locked”)
A, B 两个独立进程(其实是同一套代码,exe多复制了一个,同时运行),操作同一个 QSqlite数据库 里面的同一个表,出现了上面的错误提示。
解决方法:使用不同的连接名称,如下:
QString aaName= QString::number(qrand());
QString dbABSname = qApp->applicationDirPath()+"/"+ QString("OFVibrationSensor222_test.db");
_db = QSqlDatabase::addDatabase("QSQLITE", aaName);
_db.setDatabaseName(dbABSname);
如下这个可以加,也可以不加:
// queryInsert.finish();
// queryInsert.clear();