240717班级,工业化控制系统,煤矿相关行业,昆仑系统
lzx
2024-11-07 6703c96aa242966e17757c057906289715bd3ab9
日志提交
1个文件已修改
1个文件已添加
63 ■■■■ 已修改文件
Client/李宵增/log/历史查询_李宵增_1106.doc 补丁 | 查看 | 原始文档 | blame | 历史
Server/王琨元/code/MysqlConn.h 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Client/ÀîÏüÔö/log/ÀúÊ·²éѯ_ÀîÏüÔö_1106.doc
Binary files differ
Server/ÍõçûÔª/code/MysqlConn.h
@@ -2,53 +2,48 @@
#include <string>
#include <WinSock2.h>
//#include <mysql.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 connect(std::string ip, std::string userName, std::string passwd, std::string db , int port = 3306);
    // ï¿½Í·ï¿½ï¿½ï¿½Ô´
    ~MysqlConn( );
    // ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ý¿ï¿½  ( insert  update delete )
    bool update(std::string sql);
    // ï¿½ï¿½Ñ¯ï¿½ï¿½ï¿½Ý¿ï¿½
    bool query(std::string sql);
    // ï¿½Ãµï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
    bool getResult();
    // èŽ·å–ç»“æžœé›†çš„å­—æ®µ
    string getField(int index);
    // äº‹åŠ¡æ“ä½œ
    // ï¿½ï¿½È¡ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ö¶ï¿½
    std::string getField(int index);
    // ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
    bool transaction();
    // æäº¤äº‹åŠ¡
    bool commit();
    // äº‹åŠ¡å›žæ»š
    // ï¿½á½»ï¿½ï¿½ï¿½ï¿½
    bool commit( );
    // ï¿½ï¿½ï¿½ï¿½ï¿½Ø¹ï¿½
    bool rollback();
    void refreshActiveTime( );   // Ë¢ï¿½Â»ï¿½Ô¾Ê±ï¿½ï¿½
    long long getActiveTime();   // ï¿½ï¿½È¡ï¿½ï¿½Ç°ï¿½ï¿½Ô¾ï¿½ï¿½Ê±ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
    // ï¿½ï¿½È«Ð£ï¿½ï¿½ï¿½Ó¿ï¿½
    bool isSqlSafe(const std::string& sql);
    void refreshActiveTime();   // åˆ·æ–°æ´»è·ƒæ—¶é—´
    long long getActiveTime();   // èŽ·å–å½“å‰æ´»è·ƒçš„æ—¶é—´é—´éš”
    // å®‰å…¨æ ¡éªŒæŽ¥å£
    bool isSqlSafe(const string& sql);
    bool isConnected();
protected:
private:
    void freeRes();
    MYSQL* m_mysql;
    MYSQL_RES* m_res;
    MYSQL_ROW m_row;
    chrono::steady_clock::time_point  m_activeTime;
    MYSQL* mysql_ = NULL ;
    MYSQL_RES* res_ = NULL;
    MYSQL_ROW row_ = nullptr;
    std::chrono::steady_clock::time_point  activeTime_;
};