240717班级,工业化控制系统,煤矿相关行业,昆仑系统
lzx
2024-11-07 6703c96aa242966e17757c057906289715bd3ab9
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_;
};