这是一个用来监控本地文件夹变化的服务
w1146869587
2021-11-10 08d963298148327571feeaea057185d6cbfb0965
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#ifndef MBWATCHDB_H
#define MBWATCHDB_H
#include <QObject>
#include <QSqlDatabase>
#include <QMutex>
 
/***********************************************************
*
*  mb_watch_xxxxxxxxxx_xxx.db
*
************************************************************/
class CMBWatchDb
{
public:
    CMBWatchDb();
    ~CMBWatchDb();
private:
    QMutex           m_mutex;
private:
    QString          m_path;
    QString          m_logTableName;
    QString          m_backupDirTableName;
private:
    QSqlDatabase openDataBase();
    void         closeDataBase(QString connectionName);
private:
    bool         execSql( QString sql,QString &errInfo );  // 执行sql
    bool         execSql(QSqlDatabase &db,QString sql,QString &errInfo );  // 执行sql
    bool         getFiledValueSql( QString sql,QString &tmpValue,QString tmpFiled,QString &errInfo );  // 获取tmp字段的值
    bool         exsitSql( QString sql,bool &bExsit,QString &errInfo );
    bool         isTableExist(QString table);
private:
    bool         createLogTable(QString &errInfo);
    bool         createBackupTable(QString &errInfo);
public:
    bool         init(QString path,QString &errInfo);
private:
    bool         loadDB(QSqlQuery &query);
public:
    bool         queryDB(QString &errInfo);
private: // log db
    bool         exsitLogDB(QString fileName,bool &bExsit,QString &errInfo);
    bool         updateLogDB(QString fileName,QString lastMdfTime,QString &errInfo);         // 更新DB
    bool         insertLogDB(QString fileName,QString lastMdfTime,QString &errInfo);         // 插入DB
    bool         getLastMdfTimeLogDB(QString fileName,QString &lastMdfTime,QString &errInfo);
public:
    bool         setLogDB(QString &cmd,bool &bOpDB,QString fileName,QString lastMdfTime, QString &errInfo);
    bool         setLogDB(bool &bOpDB,QString fileName,QString lastMdfTime, QString &errInfo);
private: // backup db
    bool         insertBackupDirDB(QString opType,QString fileName,
                                   QString newFileName,QString svrPath,
                                   QString svrFlag,QString &errInfo);
    bool         exsitFileNameBackupDirDB(QString fileName,bool &bExsit,QString &errInfo);
private:
    bool         delBackupDirDB(QString fileName,QString &errInfo);
    bool         renameBakcupDirDB(QString opType,QString fileName,
                                   QString newFileName,QString svrPath,
                                   QString svrFlag,QString &errInfo);
    bool         newBakcupDirDB(QString opType,QString fileName,
                                   QString newFileName,QString svrPath,
                                   QString svrFlag,QString &errInfo);
    bool         mdyBakcupDirDB(QString opType,QString fileName,
                                   QString newFileName,QString svrPath,
                                   QString svrFlag,QString &errInfo);
public:
    bool         setBackupDirDB(QString opType,QString fileName,
                                QString newFileName,QString svrPath,
                                QString lastMdfTime,QString svrFlag,QString &errInfo);
public: // 调整数据库
    bool         adjDB(QString opType,QString fileName,
                                   QString newFileName,QString svrPath,
                                   QString lastMdfTime,QString svrFlag,QString &errInfo);
    bool         adjDB(QString fileName,
                                   QString newFileName,QString svrPath,
                                   QString lastMdfTime,QString svrFlag,QString &errInfo);
};
 
#endif // MBWATCHDB_H