如何通过Qt锁定数据库中的表? 我用C++连接到Qt数据库中。 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("/link/to/my.db");

如何通过Qt锁定数据库中的表? 我用C++连接到Qt数据库中。 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("/link/to/my.db");,c++,qt,sqlite,qsqlquery,qsqldatabase,C++,Qt,Sqlite,Qsqlquery,Qsqldatabase,同时,我有一个Python程序连接到同一个数据库,并不断更新一个名为“myTable”的表 在Qt中,我希望在每次轮询时读取新更新的行。所以我想 锁上桌子;读所有行;删除所有行;打开桌子 如何在Qt中锁定和解锁表在SQLite中没有表锁定命令。但您可以通过事务锁定数据库: BEGIN IMMEDIATE TRANSACTION; ... COMMIT TRANSACTION; 或 因此,您可以在操作之前和之后执行事务命令: q.exec("BEGIN IMMEDIATE TRANSACTIO

同时,我有一个Python程序连接到同一个数据库,并不断更新一个名为“myTable”的表

在Qt中,我希望在每次轮询时读取新更新的行。所以我想

锁上桌子;读所有行;删除所有行;打开桌子


如何在Qt中锁定和解锁表在SQLite中没有表锁定命令。但您可以通过事务锁定数据库:

BEGIN IMMEDIATE TRANSACTION;
...
COMMIT TRANSACTION;

因此,您可以在操作之前和之后执行事务命令:

q.exec("BEGIN IMMEDIATE  TRANSACTION");

...

q.exec("COMMIT");

q.exec("BEGIN IMMEDIATE  TRANSACTION");

...

q.exec("COMMIT");
 db.transaction(); // Begins a transaction

 ...

 db.commit(); //Commits a transaction