[Interest] QThreadPool & writing to the DB
Igor Mironchik
igor.mironchik at gmail.com
Mon Aug 18 13:51:26 CEST 2014
Hi.
Well, but with SQLite this approach works...
-----Original Message-----
From: Sze Howe Koh
Sent: Monday, August 18, 2014 12:57 PM
To: Igor Mironchik
Subject: Re: [Interest] QThreadPool & writing to the DB
Hi Igor,
On 18 August 2014 14:26, Igor Mironchik <igor.mironchik at gmail.com> wrote:
> Hi.
>
> I want to move write to DB operation to another thread (from the GUI
> thread). And I implemented the following QRunnable:
<snip>
> Is it OK to launch this runnable every time when I need to write to the
> log?
<snip>
> And what if previous operation is still not finished and I will launch
> another?
According to http://qt-project.org/doc/qt-5/threads-modules.html, your
queries must be made from the same thread which opened the database
connection. You cannot use QRunnable, because it doesn't let you
choose which thread to use.
If you want to make queries in another thread, you must create a
QSqlDatabase in that thread, and associate every QSqlQuery with that
QSqlDatabase. Then, run every query from that same thread.
See the QThread documentation for examples on how to set up your
thread: http://qt-project.org/doc/qt-5/QThread.html
Regards,
Sze-Howe
More information about the Interest
mailing list