From 4b032971d376b063480e53842045561f7c9b399b Mon Sep 17 00:00:00 2001
From: wangky <m1561510467@163.com>
Date: 星期一, 04 十一月 2024 18:36:06 +0800
Subject: [PATCH] 1

---
 Server/王琨元/code/MysqlConn.h |   85 +++++++++++++++++-------------------------
 1 files changed, 34 insertions(+), 51 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..577bb2c 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,46 @@
 #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 <string.h>
+#include <chrono>
 
 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 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(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(std::string sql);
+	// 得到结果集
+	bool getResult();
+	// 获取结果集的字段
+	std::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 std::string& sql);
+
+private:
+
+	void freeRes();
+	MYSQL* mysql_ = NULL ;
+	MYSQL_RES* res_ = NULL;
+	MYSQL_ROW row_ = nullptr;
+	std::chrono::steady_clock::time_point  activeTime_;
 };
+

--
Gitblit v1.8.0