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

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

标签:locked,同一个,dbABSname,数据库,db,QString,QSqlite,16QT
来源: https://blog.csdn.net/weixin_43577616/article/details/117961924