使用db.isOpen()检查数据库连接

Checking database connection using db.isOpen()

本文关键字:检查 数据库连接 db isOpen 使用      更新时间:2023-10-16

我尝试使用:

if (!db.isOpen()) {
  db.open();
}

检查我的数据库连接,但它不会重新连接到我的数据库…:(打开我的程序(20-30秒?)后,我的连接将随机中断。但是,如果我忘记了if语句并执行db.open();,它就可以工作了。我确实有#include <QSqlDatabase>

我认为isOpen不会检查连接是否仍然有效。如果连接已成功打开,但尚未关闭,则返回true。您应该使用一个简单的SQL请求(例如SELECT 1)来检查连接。此外,如果您定期执行此请求,连接将保持活动状态。

另请参阅检测QSqlDatabase断开连接。