From 1db6623d40fc32a47615d947aec24c89b9528ad5 Mon Sep 17 00:00:00 2001
From: wangky <m1561510467@163.com>
Date: 星期四, 07 十一月 2024 16:41:56 +0800
Subject: [PATCH] 1

---
 Server/王琨元/code/MysqlConn.h |   90 ++++++++++++++++++++------------------------
 1 files changed, 41 insertions(+), 49 deletions(-)

diff --git "a/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.h" "b/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.h"
index 0dbbea9..fe6d6fc 100644
--- "a/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.h"
+++ "b/Server/\347\216\213\347\220\250\345\205\203/code/MysqlConn.h"
@@ -1,63 +1,55 @@
 #pragma once
-#include<iostream>
-#include <memory>
+
 #include <string>
-#include <mysql.h>
-#include <chrono> // 时钟
-#include <fstream>
+#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")
 
-#pragma comment(lib, "./lib/libmysql.lib") // 加载数据库库文件
 using namespace std;
-using namespace chrono;
-typedef long long ll;
-
 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();
-	// 数据库连接释放
+	// 连接数据库
+	//bool connect();
+	// 释放资源
 	~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;
+	// 更新数据库  ( insert  update delete )
+	bool update(string sql);
 	// 查询数据库
-	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 query(string sql, vector<vector<string>>& result);
+	bool query(string sql);
+	// 得到结果集
+	bool getResult();
+	// 获取结果集的字段
+	string getField(int index);
 	// 事务操作
-	bool transaction() const;
+	bool transaction();
 	// 提交事务
-	bool commit() const;
+	bool commit();
 	// 事务回滚
-	bool rollback() const;
-	// 刷新起始的空闲时间点
-	void refreashAliveTime();
-	// 计算存活总时长
-	ll getAliveTime();
+	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;
+
 };

--
Gitblit v1.8.0