//头文件
#include "mysql.h"
//函数定义
// 执行sql语句, 包括增加、删除、更新数据
bool ExecuteSql(MYSQL m_mysql,const char * sql)
{
if (mysql_query(&m_mysql, sql))
{
// 打错误log,这里直接显示到控制台
cerr << "执行sql语句失败,错误信息为: " << mysql_error(&m_mysql) << endl;
return false;
}
else
{
cout << "执行sql语句成功!" << endl;
}
return true;
}
//主函数中调用
int main()
{
MYSQL mysql; //一个数据库结构体
MYSQL_RES* res; //一个结果集结构体
MYSQL_ROW row; //char** 二维数组,存放一条条记录
//初始化数据库
mysql_init(&mysql);
//设置编码方式
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
//连接数据库
//判断如果连接失败就输出连接失败。
//注意你连接的账户名密码
if (mysql_real_connect(&mysql, "localhost", "root", "", "man", 3306, NULL, 0) == NULL)
printf("连接失败!\n");
/注意你连接的账户名密码
//查询数据
mysql_query(&mysql, "select * from chuang");
//获取结果集
res = mysql_store_result(&mysql);
// 增加数据测试
vector<string> vos = split(test_ming, "#");
String st = "insert into chuang values ('" + vos[0] + "', '" + vos[1] + "','" + str_time + "')";
const char* sql1 = st.c_str();
ExecuteSql(mysql, sql1);
//显示数据
while (row = mysql_fetch_row(res))
{
//row[0] = "七七七";
printf("%s", row[0]);//打印ID
printf("\t%s", row[1]);//打印姓名
printf("\t%s\n", row[2]);//打印工资
}
//释放结果集
mysql_free_result(res);
//关闭数据库
mysql_close(&mysql);
return 0;
}
在此处修改为自己的数据库信息:
if (mysql_real_connect(&mysql, "localhost", "root", "", "man", 3306, NULL, 0) == NULL)
printf("连接失败!\n");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】