Visual studio中C/C++连接mysql

我使用的是Visual studio 2019连接的数据库,其他版本的VS操作应该类似

1.选择X64

因为我们使用的MySQL 提供的连接库(如 libmysql.dll 或 MySQL Connector)都是64位的,所以不能选择X86版本


2.找到本地安装MySQL的目录

MySQL默认的安装路径为C:\Program Files\MySQL

进入目录中,我们可以看到MYSQL提供了6个文件夹,这里我们使用MySQL Server 8.0

进入MySQL Server 8.0文件夹,我们要记住下面的两个文件夹,后面配置环境时需要include和lib

记住下面2个路径:
C:\Program Files\MySQL\MySQL Server 8.0\include
C:\Program Files\MySQL\MySQL Server 8.0\lib


3.右击项目------>属性------>VC++目录

将C:\Program Files\MySQL\MySQL Server 8.0\include复制到包含目录 中

将C:\Program Files\MySQL\MySQL Server 8.0\lib复制到引用目录中


  1. 右击项目------>属性------>C/C++------>常规------>附加包含目录

将C:\Program Files\MySQL\MySQL Server 8.0\include复制到附加包含目录 中


  1. 右击项目->属性->链接器->常规->附加库目录

将C:\Program Files\MySQL\MySQL Server 8.0\lib复制到附加库目录中

  1. 右击项目->属性->链接器->输入->附加依赖项

将libmysql.lib添加到附加依赖项 中

  1. 将libmysql.dll和libmysql.lib复制到项目中

将C:\Program Files\MySQL\MySQL Server 8.0\lib路径下的libmysql.dll和libmysql.lib复制到当前项目目录中

复制过来:

完成上面7个步骤,就完成了Visual studio中C/C++连接mysql

  1. 测试是否配置成功

我们想要使用数据库,要引头文件<mysql.h>

使用下面代码,如果没有报错,说明配置成功(注意,mysql_real_connect(&mysql, "127.0.0.1", "root", "pwd12345678", "testdb", 3306, NULL, 0)中第二三四个参数分别为数据库用户的用户名、密码、数据库名,要改成自己的再测试)

c 复制代码
#include <mysql.h>
#inclide <stdio.h>
int main()
{
    MYSQL mysql;
	MYSQL_RES* res;
	MYSQL_ROW row;

	mysql_init(&mysql);
	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
	if (mysql_real_connect(&mysql, "127.0.0.1", "root", "pwd12345678", "testdb", 3306, NULL, 0) == NULL) {
		printf("错误原因: %s\n", mysql_error(&mysql));
		printf("连接失败!\n");
		exit(-1);
	}

	int choice = 0;
}
相关推荐
程序员老陆14 分钟前
C++ 未定义行为全景:对象模型、优化边界与工程防御
开发语言·c++·程序设计
下页、再停留1 小时前
【C#桌面客户端系列学习-8】批量导出数据为csv格式
开发语言·c#·visual studio
小小龙学IT1 小时前
Go 语言 cgo 与 C/C++ 互操作深度解析:从 fwlib 直连到工业数采网关实战系列
c语言·c++·golang
java1234_小锋1 小时前
【技术专题】Mysql8 数据库 - Mysql8 触发器
数据库·mysql·mysql8
VIP_CQCRE1 小时前
Visual Studio 接入 AI 助手:LMLocal × Ace Data Cloud 配置指南
大模型·api·ai编程·visual studio·acedatacloud
老王爱玩车2 小时前
动态内存管理
c语言·开发语言·学习·面试
Logic1013 小时前
C语言/数据结构数位DP题解:平滑排列数字统计——区间内相邻位差不超过K的数字个数
c语言·数据结构·动态规划·时间复杂度·数位dp·算法题·前导零处理
程序员老陆3 小时前
C++ 多线程通信方式全景:从共享内存到结构化协调
开发语言·c++
Zwawa3 小时前
把 AO 接回来:黑线和白底之间到底差了多少
c语言·单片机·嵌入式
某不知名網友3 小时前
ROS2 核心通信:话题发布与订阅详解
开发语言·c++