240717班级,工业化控制系统,煤矿相关行业,昆仑系统
jiangkegeng
2024-11-08 0a06bde4b42e06f9813f74d6f4104864d8d19810
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
#pragma once
 
#include <string>
#include <WinSock2.h>
#include "MySQL/include/mysql.h"
#include <string.h>
#include <chrono>
#include <iostream>
#include <memory>
#include <queue>
#include <mutex>
#include <condition_variable>
#include <regex>
#pragma comment(lib,"./MySQL/lib/libmysql.lib")
 
using namespace std;
class MysqlConn
{
public:
    // ³õʼ»¯Á¬½Ó
    MysqlConn();
    // Á¬½ÓÊý¾Ý¿â
    //bool connect();
    // ÊÍ·Å×ÊÔ´
    ~MysqlConn();
    // ¸üÐÂÊý¾Ý¿â  ( insert  update delete )
    bool update(string sql);
    // ²éѯÊý¾Ý¿â
    bool query(string sql, vector<vector<string>>& result);
    bool query(string sql);
    // µÃµ½½á¹û¼¯
    bool getResult();
    // »ñÈ¡½á¹û¼¯µÄ×Ö¶Î
    string getField(int index);
    // ÊÂÎñ²Ù×÷
    bool transaction();
    // Ìá½»ÊÂÎñ
    bool commit();
    // ÊÂÎñ»Ø¹ö
    bool rollback();
 
 
    void refreshActiveTime();   // Ë¢Ð»îԾʱ¼ä
    long long getActiveTime();   // »ñÈ¡µ±Ç°»îÔ¾µÄʱ¼ä¼ä¸ô 
    // °²È«Ð£Ñé½Ó¿Ú
    bool isSqlSafe(const string& sql);
    bool isConnected();
protected:
    void freeRes();
    MYSQL* m_mysql;
    MYSQL_RES* m_res;
    MYSQL_ROW m_row;
    chrono::steady_clock::time_point  m_activeTime;
 
};