240717班级,工业化控制系统,煤矿相关行业,昆仑系统
1
wangky
2024-11-07 781d6610681c227c6440d72794c6721e47fc13dc
Server/ÍõçûÔª/code/MysqlConn.h
@@ -1,63 +1,57 @@
#pragma once
#include<iostream>
#include <memory>
#include <string>
#include <mysql.h>
#include <chrono> // æ—¶é’Ÿ
#include <fstream>
#pragma comment(lib, "./lib/libmysql.lib") // åŠ è½½æ•°æ®åº“åº“æ–‡ä»¶
using namespace std;
using namespace chrono;
typedef long long ll;
#include <string>
#include <WinSock2.h>
//#include <mysql.h>
#include "MySQL/include/mysql.h"
#include <string.h>
#include <chrono>
#pragma comment(lib,"./MySQL/lib/libmysql.lib")
class MysqlConn
{
private:
   // ç»å¯¹æ—¶é’Ÿ
   steady_clock::time_point   m_alivetime;
   // è¿žæŽ¥
   MYSQL* m_conn;
   // æŸ¥è¯¢çš„结果集
   MYSQL_RES* m_result;
   // å•记录结果集
   MYSQL_ROW               m_mysqlRow;
   // ç»“果集释放
   void freeRes();
   // å¯¼å‡ºæŸä¸€å¼ è¡¨ä¸­çš„æ•°æ®
   void backupCurrentTable(const string path, const string tableName);
public:
   // åˆå§‹åŒ–数据库
   // ï¿½ï¿½Ê¼ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
   MysqlConn();
   // æ•°æ®åº“连接释放
   ~MysqlConn();
   // è¿žæŽ¥æ•°æ®åº“, éœ€æä¾›ç”¨æˆ· å¯†ç  æ•°æ®åº“名称 ip ç«¯å£
   bool connect(const string user, const string passwd, \
      const string dbName, string ip, \
      const unsigned short port = 3306U);
   // æ›´æ–°æ•°æ®åº“:增删改操作
   bool update(const string sql) const;
   // æŸ¥è¯¢æ•°æ®åº“
   bool query(const string sql);
   // éåŽ†æŸ¥è¯¢ç»“æžœé›†
   bool getRes();
   // èŽ·å–ç»“æžœé›†ä¸­çš„å­—æ®µå€¼
   string getValue(const int fieldIndex) const;
   // åˆ‡æ¢æ•°æ®åº“
   bool selectDB(const string dbName) const;
   // å»ºåº“
   //bool createDB(const string dbName) const;
   // å¤‡ä»½æŸä¸ªåº“
   void backupCurrentDB(const string path);
   // äº‹åŠ¡æ“ä½œ
   bool transaction() const;
   // æäº¤äº‹åŠ¡
   bool commit() const;
   // äº‹åŠ¡å›žæ»š
   bool rollback() const;
   // åˆ·æ–°èµ·å§‹çš„空闲时间点
   void refreashAliveTime();
   // è®¡ç®—存活总时长
   ll getAliveTime();
   // ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ý¿ï¿½
   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();
   // ï¿½ï¿½È¡ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ö¶ï¿½
   std::string getField(int index);
   // ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
   bool transaction();
   // ï¿½á½»ï¿½ï¿½ï¿½ï¿½
   bool commit( );
   // ï¿½ï¿½ï¿½ï¿½ï¿½Ø¹ï¿½
   bool rollback();
   void refreshActiveTime( );   // Ë¢ï¿½Â»ï¿½Ô¾Ê±ï¿½ï¿½
   long long getActiveTime();   // ï¿½ï¿½È¡ï¿½ï¿½Ç°ï¿½ï¿½Ô¾ï¿½ï¿½Ê±ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
   // ï¿½ï¿½È«Ð£ï¿½ï¿½ï¿½Ó¿ï¿½
   bool isSqlSafe(const std::string& sql);
private:
   void freeRes();
<<<<<<< HEAD
   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_;
>>>>>>> eadb2439512aec3f324b6e75f09b525e8da33edb
};