2013-06-30 53 views
0

我試着使用:檢查使用db.isOpen()數據庫連接

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

檢查我的數據庫連接,但它不會重新連接到我的數據庫... :(我連接將開後隨機掉落我程序(20-30seconds?)。但是,如果我只是忘了if語句,做db.open();它的作品。我確實有#include <QSqlDatabase>

回答

1

我覺得isOpen不檢查連接是否還活着。它只是返回true如果連接成功打開並且尚未關閉,則應使用簡單的SQL請求檢查連接(例如SELECT 1)。也可能是如果您定期執行此請求,連接將保持活動狀態。請參閱Detecting QSqlDatabase disconnections