#ifndef CHECKDATA_H #define CHECKDATA_H #include #include "QStandardItemModel.h" #include "QIcon" #include "QPixmap" #include "QByteArray" #include "databasesql.h" #include "QJsonObject" #include #pragma execution_character_set("utf-8")//使用utf-8编码 可以使用中文,解决乱码 class CheckData : public QObject { Q_OBJECT public: CheckData(QObject *parent=0){ m_pDb = NULL; }; ~CheckData(){}; void setDB(DataBaseSql* pDB){ m_pDb = pDB; }; public slots: void doWork(QVariantMap m_map) { QVariantMap m_proMap; m_proMap.insert("Type", "start"); emit sgShowProgress(m_proMap); QVariantMap Mapstr; QString strSql_Count = m_map.value("SqlCount").toString(); QString strSql_Check = m_map.value("SqlCheck").toString(); int nLimit = m_map.value("limit").toInt(); int nSum = 0; int nIndex = 0; QSqlQuery sql_Check; if (m_pDb){ QSqlQuery sql_Count; m_proMap.insert("msg", "正在获取数量"); emit sgShowProgress(m_proMap); m_pDb->checkoutData(strSql_Count, sql_Count); while (sql_Count.next()){ nSum = sql_Count.value(0).toInt(); } //加入 //emit something m_proMap.remove("msg"); m_proMap.insert("msg", "正在获取数据"); emit sgShowProgress(m_proMap); m_pDb->checkoutData(strSql_Check, sql_Check); } Mapstr.insert("sum", nSum); Mapstr.insert("nIndex", nIndex); Mapstr.insert("limit", nLimit); m_proMap.remove("Type"); m_proMap.insert("Type", "stop"); emit sgShowProgress(m_proMap); emit resultReady(Mapstr, sql_Check); //emit something }; private: class DataBaseSql *m_pDb; signals: void resultReady(QVariantMap Mapstr,QSqlQuery sql); void sgShowMsg(QString str); void sgShowProgress(QVariantMap m_Map); }; #endif // CHECKDATA_H