Disconnecting clears all prepared statements so a query passed to exec might would invalid.
{
Q_ASSERT_X(d->thread == QThread::currentThread(), "threads", "DB used from different thread");
- if (!d->db.isOpen())
+ if (!isConnected())
{
disconnect();
- if (!connect())
- return false;
+ connect();
- return retryExec(query, true);
+ return false;
}
if (!query.exec())
{
Q_ASSERT_X(d->thread == QThread::currentThread(), "threads", "DB used from different thread");
- if (!d->db.isOpen())
+ if (!isConnected())
{
disconnect();
if (!connect())