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 05 MySQL
MySQL 8.0 之不可见列的基本操作
May 20 MySQL
修改MySQL的默认密码的四种小方法
May 26 MySQL
MYSQL数据库使用UTF-8中文编码乱码的解决办法
May 26 MySQL
MySQL系列之四 SQL语法
Jul 02 MySQL
Node-Red实现MySQL数据库连接的方法
Aug 07 MySQL
MySQL修改默认引擎和字符集详情
Sep 25 MySQL
MySQL数据库必备之条件查询语句
Oct 15 MySQL
MySQL利用UNION连接2个查询排序失效详解
Nov 20 MySQL
MySQL中一条update语句是如何执行的
Mar 16 MySQL
Mysql如何实现不存在则插入,存在则更新
Mar 25 MySQL
mysql使用 not int 子查询隐含陷阱
Apr 12 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
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
PHP输出XML到页面的3种方法详解
2013/06/06 PHP
PHP中文乱码解决方案
2015/03/05 PHP
慎用 somefunction.prototype 分析
2009/06/02 Javascript
JavaScript 原型学习总结
2010/10/29 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
JQuery判断正整数整理小结
2017/08/21 jQuery
js排序与重组的实例讲解
2017/08/28 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
让python 3支持mysqldb的解决方法
2017/02/14 Python
Python实现简单遗传算法(SGA)
2018/01/29 Python
python2.7到3.x迁移指南
2018/02/01 Python
python 地图经纬度转换、纠偏的实例代码
2018/08/06 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
Tensorflow模型实现预测或识别单张图片
2019/07/19 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
保健品市场营销方案
2014/03/31 职场文书
村居抓节水倡议书
2014/05/19 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书