VS2019连接MySQL数据库的过程及常见问题总结


Posted in MySQL onNovember 27, 2021

今天下午开始配置各种环境,想着VS2019可以配合MySQL一起使用。中间出了不少错误,晚上九点左右配置成功如下图所示:

VS2019连接MySQL数据库的过程及常见问题总结

接下来说说具体步骤:

(1)首先准备好VS2019和MySQL的软件,各自官网都有,这里不再赘述;

(2)找到MySQL的安装目录,如图,找到这两个文件夹。

VS2019连接MySQL数据库的过程及常见问题总结

(3)新建一个工程后再新建一个main.cpp文件,为下面的配置环境做准备。

(4)打开项目属性,点击VC++目录,在包含目录中,将MySQL安装目录中的include文件路径添加到这里,如下图所示:

VS2019连接MySQL数据库的过程及常见问题总结

 (5)在属性页上,打开C/C++,选择常规,步骤同上,在附加包含目录中将MySQL文件中的include文件路径添加进去;

VS2019连接MySQL数据库的过程及常见问题总结

 (6)继续在属性页上,点开链接器选项,点击常规,将MySQL安装目录下的lib路径拷贝到附加库目录中;

VS2019连接MySQL数据库的过程及常见问题总结

 (7)继续在属性页的链接器中,点击输入选项,将libmysql.lib文件加进去,注意的是,只需要拷贝libmysql.lib这个名称即可,不需要添加路径。同样,这文件也在mydql安装文件夹中lib目录下:

VS2019连接MySQL数据库的过程及常见问题总结

 (8)查看属性页上方的平台,选择x64,x32可能会出错

VS2019连接MySQL数据库的过程及常见问题总结

 (9)把MySQL安装目录下的bin\libmysql.dll复制到c:\windows\system32下:

 VS2019连接MySQL数据库的过程及常见问题总结

 VS2019连接MySQL数据库的过程及常见问题总结

 这部安装完成后,可以编写测试代码了。测试代码如下:

#include <stdio.h>
#include <iostream>
#include "my_global.h"
#include "mysql.h"
using namespace std;
int main()
{
	cout << "hello world!" << endl;
	MYSQL mysql;
	MYSQL_RES* res;
	MYSQL_ROW row;
	mysql_init(&mysql);
	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
	//注意:参数一定要对上。
	//第二个参数为主机地址localhost,第三个参数为用户名
	//第四个参数为用户密码,第五个参数为连接的数据库
	//第六个参数为MySQL的端口号3306
	if (mysql_real_connect(&mysql, "localhost", "root", "123456",
		"myemployees", 3306, NULL, 0) == NULL) 
	{
		cout << (mysql_error(&mysql));
	}
	mysql_query(&mysql, "SELECT * from myemployees.employees");
	res = mysql_store_result(&mysql);
	//显示数据
	//给ROW赋值,判断ROW是否为空,不为空就打印数据。
	while (row = mysql_fetch_row(res))
	{
		printf("%s  ", row[0]);//打印ID
		printf("%s  ", row[1]);//打印ID
		cout << endl;
	}
	//释放结果集
	mysql_free_result(res);
	//关闭数据库
	mysql_close(&mysql);
	//停留等待
	getchar();
	system("pause");
	return 0;
}

运行过程中,如果出现了如下图所示的错误,则需要进行排查配置环境变量的问题。

 VS2019连接MySQL数据库的过程及常见问题总结

1、项目右键属性,检查一下VC++目录配置;

VS2019连接MySQL数据库的过程及常见问题总结

 2、检查链接器中的输入选项

VS2019连接MySQL数据库的过程及常见问题总结

 (3)我把这“libmysql.dll 和 libmysql.lib”文件放在项目里的.cpp文件夹下。

这三步可以检查具体大部分的问题。

一定要注意的是MySQL的参数不要写错,写错有时会出现如下Access denied for user 'ODBC'@'localhost' (using password: NO),可以去mysql的bin目录下输入命令:

mysql -u root -p,检查数据库用户名,密码啥的是否错误。正确输入如下图所示:

VS2019连接MySQL数据库的过程及常见问题总结

到此这篇关于VS2019连接MySQL数据库的常见问题总结的文章就介绍到这了,更多相关VS2019连接MySQL数据库内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
详解MySQL连接挂死的原因
May 18 MySQL
MySQL REVOKE实现删除用户权限
Jun 18 MySQL
浅谈MySQL表空间回收的正确姿势
Oct 05 MySQL
Mysql中一千万条数据怎么快速查询
Dec 06 MySQL
利用JuiceFS使MySQL 备份验证性能提升 10 倍
Mar 17 MySQL
mysql 生成连续日期及变量赋值
Mar 20 MySQL
浅谈MySQL中的六种日志
Mar 23 MySQL
mysql数据插入覆盖和时间戳的问题及解决
Mar 25 MySQL
MySQL Server层四个日志的实现
Mar 31 MySQL
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
Apr 09 MySQL
单机多实例部署 MySQL8.0.20
May 15 MySQL
深入理解MySQL中MVCC与BufferPool缓存机制
May 25 MySQL
Linux7.6二进制安装Mysql8.0.27详细操作步骤
SQL优化老出错,那是你没弄明白MySQL解释计划用法
Nov 27 #MySQL
mysql timestamp比较查询遇到的坑及解决
Nov 27 #MySQL
分享mysql的current_timestamp小坑及解决
Nov 27 #MySQL
MySQL中CURRENT_TIMESTAMP的使用方式
Nov 27 #MySQL
MySQL Innodb索引机制详细介绍
Nov 23 #MySQL
浅谈mysql哪些情况会导致索引失效
Nov 20 #MySQL
You might like
浅析SVN常见问题及解决方法
2013/06/21 PHP
8个PHP数组面试题
2015/06/23 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
读jQuery之十 事件模块概述
2011/06/27 Javascript
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
JS中input表单隐藏域及其使用方法
2017/02/13 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
[03:04]DOTA2英雄基础教程 影魔
2013/12/11 DOTA
python处理中文编码和判断编码示例
2014/02/26 Python
Python探索之自定义实现线程池
2017/10/27 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
python Tkinter的图片刷新实例
2019/06/14 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
python 如何对logging日志封装
2020/12/02 Python
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
Java工程师面试集锦之Spring框架
2013/06/16 面试题
介绍一下MD5加密算法
2016/11/12 面试题
租赁意向书范本
2014/04/01 职场文书
监守自盗观后感
2015/06/10 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书
一年级下册数学教学反思
2016/02/16 职场文书
MySQL数据迁移相关总结
2021/04/29 MySQL
Docker部署Mysql8的实现步骤
2022/07/07 Servers