1.创建项目后首先在【配置属性】 【C/C++】【常规】下添加包含目录mysql8.0的include文件夹
2.然后在【连接器】【常规】下面添加附加目录,选择mysql下面的lib目录
详细代码如下
#pragma once
#include
#include
#include
#include
#include "mysql.h"
#include
#include
#include
using namespace std;
class MySQLDB
{
public:
inline BOOL InitSQL(const string& strHost, const string& strUserName, const string& strPwd, const string& strDataBase, const LONG lPort);
MYSQL_RES* GetSQLRs(const string& strSql);
BOOL DoSql(const string& strSql);
void Close_MySQLDB();
public:
MYSQL myConnect;
MYSQL_RES* rs;
};
BOOL MySQLDB::InitSQL(const string& strHost, const string& strUserName, const string& strPwd, const string& strDataBase, const LONG lPort)
{
mysql_init(&myConnect);
if (mysql_real_connect(&myConnect, strHost.c_str(), strUserName.c_str(), strPwd.c_str(), strDataBase.c_str(), lPort, NULL, 0)) {
mysql_query(&myConnect, "SET NAMES GBK");
return TRUE;
}
else {
return FALSE;
}
}
MYSQL_RES* MySQLDB::GetSQLRs(const string& strSql)
{
int res = mysql_query(&myConnect, strSql.c_str());
if (!res) {
rs = mysql_store_result(&myConnect);
if (rs == NULL) {
return NULL;
}
else
{
return rs;
}
return NULL;
}
else {
return NULL;
}
}
BOOL MySQLDB::DoSql(const string& strSql)
{
if (!mysql_query(&myConnect, strSql.c_str())) {
return TRUE;
}
else {
return FALSE;
}
}
void MySQLDB::Close_MySQLDB()
{
if (rs != NULL) mysql_free_result(rs);//释放结果资源
mysql_close(&myConnect);//断开连接
}
#include
#include
#include "stdio.h"
#include "MySQLDB.h"
using namespace std;
int main()
{
MySQLDB sql;
MYSQL_ROW row;
unsigned int t;
int count = 0;
if (sql.InitSQL("127.0.0.1", "hx", "127.0.01", "taobao", 3306))
{
MYSQL_RES* result = sql.GetSqlInfo("select * from bl limit 30");
while (row = mysql_fetch_row(result))
{
for (t = 0; t < mysql_num_fields(result); t++) {
printf("%s | ", row[t]);
}
string index = to_string(count);
std::cout << "\n-------------------------------------------------------------"+index << endl;
count++;
}
sql.DoSql("insert into bl(ID ,name,sex,age,st) values (null, '9999','男','25','牛牛牛')");
sql.Close_MySQLDB();
}
else {
cout << "sql inited failed" << endl;
}
}
执行结果如下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)