Hi.

I want to move write to DB operation to another thread (from the GUI thread). 
And I implemented the following QRunnable:

//// SourcesLogWritter//class SourcesLogWritter :       public 
QRunnable{public:        SourcesLogWritter()     {               setAutoDelete( 
false ); }       void setData( const QDateTime & dateTime,               const 
QString & channelName,            Como::Source::Type type,                const 
QString & sourceName,             const QString & typeName,               const 
QVariant & value,         const QString & desc )  {               m_dateTime = 
dateTime;          m_channelName = channelName;            m_type = type;       
   m_sourceName = sourceName;              m_typeName = typeName;          
m_value = value;                m_desc = desc;  }       void run()      {       
        QSqlQuery insert( QLatin1String(                        "INSERT INTO 
sourcesLog ( dateTime, channelName, type, "                        "sourceName, 
typeName, value, desc ) "                  "VALUES ( ?, ?, ?, ?, ?, ?, ? )" ) 
);           insert.addBindValue( dateTimeToString( m_dateTime ) );          
insert.addBindValue( m_channelName );           insert.addBindValue( (int) 
m_type );            insert.addBindValue( m_sourceName );            
insert.addBindValue( m_typeName );              insert.addBindValue( 
m_value.toString() );              insert.addBindValue( m_desc );          
insert.exec();  }private:       QDateTime m_dateTime;   QString m_channelName;  
Como::Source::Type m_type;      QString m_sourceName;   QString m_typeName;     
QVariant m_value;       QString m_desc;}; // class SourcesLogWritter
Is it OK to launch this runnable every time when I need to write to the log?
I do the following:
d->m_sourcesLogWritter->setData( dateTime, channelName,    type, sourceName, 
typeName, value, desc );QThreadPool::globalInstance()->start(    
d->m_sourcesLogWritter.data() );
And what if previous operation is still not finished and I will launch another?
Thanks.
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to