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

 更新时间:2021年11月26日 11:31:53   作者:DelphiWang0609  
今天想使用VS2019可以配合MySQL一起使用,在配置过程中出现一些错误,下面通过本文给大家分享VS2019连接MySQL数据库的过程及常见问题总结,感兴趣的朋友跟随小编一起看看吧

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

接下来说说具体步骤:

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

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

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

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

 在这里插入图片描述

 在这里插入图片描述

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

#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;
}

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

 

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

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

 (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数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 本地windows安装两个mysql服务器,配置主从同步

    本地windows安装两个mysql服务器,配置主从同步

    大型网站为了缓解大量的并发访问,除了在网站实现分布式负载均衡,还会搭建服务器mysql集群技术,来分担主数据库的压力。在本地电脑能实现这样的技术吗,本地windows安装两个mysql服务器,配置主从同步也是可以实现的,快来跟着教程测试一下吧。
    2022-12-12
  • MySQL子查询的使用详解下篇

    MySQL子查询的使用详解下篇

    子查询是在查询语句里面再嵌套一个查询,这是因为我们在提取数据的时候有很多不知道的数据产生了依赖关系。本文为大家总结了一下MySQL数据库子查询语法规则,感兴趣的可以了解一下
    2022-08-08
  • MySQL数据备份方法的选择与思考

    MySQL数据备份方法的选择与思考

    这篇文章主要介绍了MySQL数据备份方法该如何选择,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-03-03
  • mysql分页原理和高效率的mysql分页查询语句

    mysql分页原理和高效率的mysql分页查询语句

    这篇文章主要介绍了mysql分页原理和高效率的mysql分页查询语句,大家参考使用吧
    2014-01-01
  • 选择MySQL数据库进行连接的简单示例

    选择MySQL数据库进行连接的简单示例

    这篇文章主要介绍了选择MySQL数据库进行连接的简单示例,是MySQL入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • centos6.5中rpm包安装mysql5.7初始化出错的解决方法

    centos6.5中rpm包安装mysql5.7初始化出错的解决方法

    这篇文章主要介绍了centos6.5中rpm包安装mysql5.7初始化出错的解决方法,需要的朋友可以参考下
    2017-09-09
  • MySQL索引失效十种场景与优化方案

    MySQL索引失效十种场景与优化方案

    这篇文章主要介绍了MySQL索引失效十种场景与优化方案,文中有详细的代码示例供参考阅读,感兴趣的朋友可以看一下
    2023-05-05
  • 一文教你学会定位线上MySQL锁超时问题

    一文教你学会定位线上MySQL锁超时问题

    这篇文章主要介绍了一文教你学会定位线上MySQL锁超时问题,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • mysql实现合并结果集并去除重复值

    mysql实现合并结果集并去除重复值

    这篇文章主要介绍了mysql实现合并结果集并去除重复值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 一台linux主机启动多个MySQL数据库的方法

    一台linux主机启动多个MySQL数据库的方法

    这篇文章主要介绍了一台linux主机启动多个MySQL数据库的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论