|
|
|
|
|
#ifndef DATABASESQL_H
|
|
|
|
|
|
#define DATABASESQL_H
|
|
|
|
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
|
|
#include <QtSql\qsqldatabase.h>
|
|
|
|
|
|
#include <QtSql\qsqlquery.h>
|
|
|
|
|
|
#include <QtSql\qsqlerror.h>
|
|
|
|
|
|
#include <QtSql\qsqlrecord.h>
|
|
|
|
|
|
#include <QtSql\qsqlfield.h>
|
|
|
|
|
|
#include <QtSql\qsqldriver.h>
|
|
|
|
|
|
#include <QtCore\qstring.h>
|
|
|
|
|
|
#include <QtCore\qstringlist.h>
|
|
|
|
|
|
#include <QtCore\qvariant.h>
|
|
|
|
|
|
#include <QtCore\qbuffer.h>
|
|
|
|
|
|
#include <QVariantMap>
|
|
|
|
|
|
#include "QMutex"
|
|
|
|
|
|
|
|
|
|
|
|
#define _CHECK_TIME1_ "time1"
|
|
|
|
|
|
#define _CHECK_TIME2_ "time2"
|
|
|
|
|
|
#define _CHECK_NAME_ "name"
|
|
|
|
|
|
#define _CHECK_TYPE_ "Type"
|
|
|
|
|
|
#define _CHECK_COUNT_ "Count"
|
|
|
|
|
|
#define _CHECK_LOGTYPE "logType"
|
|
|
|
|
|
#define _CHECK_UID_ "uid"
|
|
|
|
|
|
enum EMTYPE_CHECKTYPE{
|
|
|
|
|
|
EMT_CHECK_BY_TIME = 0,//只按时间查询
|
|
|
|
|
|
EMT_CHECK_BY_NAME,//按照模型名查询
|
|
|
|
|
|
EMT_CHECK_BY_SAE,//按照起始结束时间查询
|
|
|
|
|
|
EMT_CHECK_BY_LOG,
|
|
|
|
|
|
EMT_CHECK_BY_COUNT,
|
|
|
|
|
|
EMT_CHECK_BY_UID,
|
|
|
|
|
|
};
|
|
|
|
|
|
class DataBaseSql : public QObject
|
|
|
|
|
|
{
|
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
DataBaseSql( const QString& dbName ,const QString &dbType = QString("QSQLITE"));
|
|
|
|
|
|
~DataBaseSql();
|
|
|
|
|
|
bool openDB();
|
|
|
|
|
|
void closeDB();
|
|
|
|
|
|
void SetDatabaseName(QString dbName);
|
|
|
|
|
|
void SetDBPort(QString nAddr = QString("localhost"), int nPort = 3306);
|
|
|
|
|
|
void SetDBUser(QString dbUser = QString("root"), QString dbPwd = QString("hzleaper"));
|
|
|
|
|
|
virtual bool InitDatabase();
|
|
|
|
|
|
bool CreatTable(QString m_tableName, QString m_primaty, QVariantMap m_map);
|
|
|
|
|
|
|
|
|
|
|
|
virtual bool InsertOneData(QString m_tableName, QVariantMap m_map);
|
|
|
|
|
|
virtual bool ModefyOneData(QString m_tableName, QVariantMap m_map);
|
|
|
|
|
|
virtual bool DeleteOneData(QString m_tableName, QString m_map);
|
|
|
|
|
|
/*
|
|
|
|
|
|
m_value.insert("time1","");//起始时间
|
|
|
|
|
|
m_value.insert("time2","");//结束时间
|
|
|
|
|
|
m_value.insert("name","");//模型名字
|
|
|
|
|
|
m_value.insert("Type","");//查询类型
|
|
|
|
|
|
m_value.insert("logType","");//报警信息查询
|
|
|
|
|
|
*/
|
|
|
|
|
|
virtual bool checkoutData(QVariantMap m_value, QSqlQuery &sql) = 0;
|
|
|
|
|
|
virtual bool checkoutData(QString selectStr, QSqlQuery &sql) = 0;
|
|
|
|
|
|
virtual bool AddOneWarningMessage(struct WarnMessage m_messageInfo) = 0;
|
|
|
|
|
|
virtual bool DelWarnDataByCount(int model = 1, int nCount = 100000) = 0;
|
|
|
|
|
|
virtual bool DelAllDatas() = 0;
|
|
|
|
|
|
virtual bool DelDatasByTime(QString minTime) = 0;
|
|
|
|
|
|
virtual QString genCheckStr(QVariantMap m_value);//通过value数据生成查询语句 实现与checkoutdata相同
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
QSqlDatabase *db;
|
|
|
|
|
|
QSqlQuery qry;
|
|
|
|
|
|
QString m_DBType;
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // DATABASESQL_H
|