c++ 连接mysql数据库
首先安装mysql,点完全安装,才能在在安装目录include找到相应的头文件,注意,是完全安装。
我装的是5.1版本,需要的头文件有
把需要的文件添加进去,然后再把 libmysql.lib放到项目目录里,文件在mysql安装目录 lib 下面.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #include "stdafx.h" #include <iostream> #include <winsock2.h> #include "mysql.h" //#pragma comment(lib, "ws2_32.lib") #pragma comment(lib,"libmysql.lib") using namespace std; int main( int argc, char * argv[]) { mysql_library_init(NULL,0,0); MYSQL mysql; mysql_init(&mysql); if (0==mysql_options(&mysql,MYSQL_SET_CHARSET_NAME, "utf8" )) //设置字符集 { cout << "设置字符集成功\n\n" <<endl; } if (!mysql_real_connect(&mysql, "localhost" , "root" , "kwgkwg" , "test" ,0,NULL,CLIENT_MULTI_STATEMENTS)) //连接数据库 { cout << "not connect mysql" << endl; } else { cout << "welcome to mysql\n\n\n" ; } mysql_query(&mysql, "select * from demo1" ); //执行SQL语句 MYSQL_RES *result=mysql_store_result(&mysql); //获取资源 int rowcount=mysql_num_rows(result); //获取记录数 unsigned int fieldcount=mysql_num_fields(result); //获取字段数 //cout << rowcount << endl; MYSQL_FIELD *field=NULL; //字段 MYSQL_ROW row=NULL; //记录 while (row=mysql_fetch_row(result)) { for (unsigned int i=0;i<fieldcount;i++) { field=mysql_fetch_field_direct(result,i); cout<<field->name<< ":" <<row[i] << "\n" ; } } mysql_free_result(result); mysql_close(&mysql); mysql_server_end(); mysql_library_end(); return 0; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)