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数据迁移相关总结
Apr 29 MySQL
MySQL优化之如何写出高质量sql语句
May 17 MySQL
MySQL 外键约束和表关系相关总结
Jun 20 MySQL
Mysql数据库值的添加、修改、删除及清空操作实例
Jun 20 MySQL
MySQL的全局锁和表级锁的具体使用
Aug 23 MySQL
Mysql实现简易版搜索引擎的示例代码
Aug 30 MySQL
Mysql数据库手动及定时备份步骤
Nov 07 MySQL
数据分析数据库ClickHouse在大数据领域应用实践
Apr 03 MySQL
Golang连接并操作MySQL
Apr 14 MySQL
MySQL 条件查询的常用操作
Apr 28 MySQL
MySQL transaction事务安全示例讲解
Jun 21 MySQL
一文解答什么是MySQL的回表
Aug 05 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
Syphon 秘笈
2021/03/03 冲泡冲煮
PHP 面向对象详解
2012/09/13 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
PHP重载基础知识回顾
2020/09/10 PHP
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
jQuery.each使用详解
2015/07/07 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
JS脚本加载后执行相应回调函数的操作方法
2018/02/28 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
django静态文件加载的方法
2018/05/20 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
python 多线程重启方法
2019/02/18 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
幼儿园国庆节活动方案
2014/02/01 职场文书
新学期开学标语
2014/06/30 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android