C++ - 连接mysql数据库

发布时间 2023-10-11 17:09:36作者: [BORUTO]

1. 准备工作

1.1 把 libmysql.dlllibmysql.lib 文件复制到工程目录下

首先,我们要找到刚刚开始下载的 MySQL数据库 的安装目录,打开目录,并且将 libmysql.dll文件 和 libmysql.lib文件 复制到工程目录下~

我安装MySQL的路径:E:\mysql-5.7.42-winx64\lib

把 libmysql.dll文件 和 libmysql.lib文件 复制到工程目录下

 

1.2 添加 libmysql.lib 

选择属性 右键,选择 C/C++->链接器->输入->附加依赖项,同时进行编辑

 

1.3 添加 include目录

我的这个路径是:E:\mysql-5.7.42-winx64\include

 

来到 VS2019 页面,和上述操作一样~

右键MySQL工程,选择属性 右键,选择 C/C++->常规->附加包含目录,同时进行编辑,将刚刚复制的 include路径 给粘贴上去~

 

 

1.4 包含mysql头文件

接下来 在VS2019里面,先后敲出代码:

#include <mysql.h> 

 

1.5 代码准备

添加以下代码后编译+运行,调试运行结果

#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>


int main()
{

	//固定不变的
	MYSQL mysql;    //一个数据库结构体  
	MYSQL_RES* res; //一个结果集结构体
	MYSQL_ROW row; //char** 二维数据,存放一条条记录

	//初始化数据库
	mysql_init(&mysql);

	//设置编码方式
	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");

	//连接数据库                    //ip地址	   //用户名 //密码       //数据库名
	if (mysql_real_connect(&mysql, "localhost", "root", "123456", "test", 3306, NULL, 0))
	{
		printf("数据库连接成功!\n");
	}
	else
	{
		printf("错误原因:%s\n", mysql_error(&mysql));
		printf("数据库连接失败!\n");
		exit(-1);
	}
	return 0;
}

 

 

1.6 报错问题

报错原因是:vs项目和msql不兼容

当vs的工程项目加载了libmysql.lib报了无法解析的外部符号时,即:附加包含目录,附加依赖项都设置好之后,如过编译出现如下:

 

这时需要要把项目改成64位的 ,就是要和mysql的位数一样,我的mysql是64位的所以创建的项目也要64位的。

把项目改成64位的之后编译+运行: