/************************************************************
* @文件:DBHelper.h
* @描述:实现Mysql数据库连接、增、删、改、查
* @版权:
* @许可证:
* @创建信息:Created by YangJuan on 2020-12-03
* @版本信息:
* @版本变更信息:
*************************************************************/
#ifndef DBHELPER_H
#define DBHELPER_H
#include "mysql.h"
class CDBHelper
{
public:
CDBHelper();
~CDBHelper();
//连接数据库
bool ConnectDataBase(const char* localhost, const char* root, const char* passwd, const char* basename, int port);
//释放连接
void CloseDataBase();
//执行sql语句
bool ExecuteSql(const char* sql);
//查询数据
bool QueryData(const char* sql);
//插入数据
bool InsertData(const char* sql);
//修改数据
bool ModifyData(const char* sql);
//删除数据
bool DeleteData(const char* sql);
//获取结果集
MYSQL_RES* GetExcuteRes() { return m_pRes; }
private:
MYSQL m_Mysql; //mysql连接
MYSQL_RES* m_pRes; //结果集
};
#endif //DBHELPER_H
#include "DBHelper.h"
CDBHelper::CDBHelper()
{
}
CDBHelper::~CDBHelper()
{
CloseDataBase();
}
bool CDBHelper::ConnectDataBase(const char* localhost, const char* root, const char* passwd, const char* basename, int port)
{
//初始化mysql
mysql_init(&m_Mysql);
if (!(mysql_real_connect(&m_Mysql, localhost, root, passwd, basename, port, NULL, 0)))
return false;
return true;
}
void CDBHelper::CloseDataBase()
{
mysql_free_result(m_pRes);
mysql_close(&m_Mysql);
}
bool CDBHelper::ExecuteSql(const char* sql)
{
//执行SQL语句
if (mysql_query(&m_Mysql, sql))
{
return false;
}
return true;
}
bool CDBHelper::QueryData(const char* sql)
{
//执行SQL语句
if(ExecuteSql(sql))
{
return false;
}
//获取结果集
if (!(m_pRes = mysql_store_result(&m_Mysql)))
{
return false;
}
return true;
}
bool CDBHelper::InsertData(const char* sql)
{
if(ExecuteSql(sql)) //执行SQL语句
return false;
return true;
}
bool CDBHelper::ModifyData(const char* sql)
{
if(ExecuteSql(sql)) //执行SQL语句
return false;
return true;
}
bool CDBHelper::DeleteData(const char* sql)
{
if(ExecuteSql(sql)) //执行SQL语句
return false;
return true;
}