2021-06-16QT+ QSqlite数据库,两个进程操作同一个数据库出现提示:sqlError(5,“unable to fetch row“,“databse is locked“)

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();

上一篇:I2C mux和复杂拓扑


下一篇:☕【Java技术指南】「并发原理专题」AQS的技术体系之CLH、MCS锁的原理及实现