123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #include "databasethread.h"
- DatabaseThread::DatabaseThread(QObject *parent, QSqlDatabase *db) :
- QThread(parent)
- {
- Db = db;
- hour = 255;
- keep=false;
- sqlList.clear();
- }
- void DatabaseThread::appendSql(QString sql)
- {
- sqlList.append(sql);
- }
- void DatabaseThread::stop()
- {
- keep = false;
- }
- void DatabaseThread::run()
- {
- keep = true;
- while (keep) {
- if(sqlList.length()>0)
- {
- if(Db->transaction())
- {
- while(sqlList.length()>0)
- {
- emit dbdata_log(QString("[%1] do sql: \"%2\"\r\n")
- .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"))
- .arg(sqlList.first()));
- Db->exec(sqlList.first());
- sqlList.removeFirst();
- usleep(10000);
- }
- Db->commit();
- }
- }
- usleep(50000);
- }
- }
|