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

相关文章

  • MySql事务原理介绍及特性

    MySql事务原理介绍及特性

    事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的
    2022-09-09
  • 在IDEA的maven项目中连接并使用MySQL8.0的方法教程

    在IDEA的maven项目中连接并使用MySQL8.0的方法教程

    这篇文章主要介绍了如何在IDEA的maven项目中连接并使用MySQL8.0,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • MySQL按照汉字的拼音排序简单实例

    MySQL按照汉字的拼音排序简单实例

    下面小编就为大家带来一篇MySQL按照汉字的拼音排序简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 基于SQL中SET与SELECT赋值的区别详解

    基于SQL中SET与SELECT赋值的区别详解

    本篇文章是对SQL中SET与SELECT赋值的区别进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • mysqldump数据库备份参数详解

    mysqldump数据库备份参数详解

    这篇文章主要介绍了mysqldump数据库备份参数详解,需要的朋友可以参考下
    2014-05-05
  • MySQL 慢查询日志的开启与配置

    MySQL 慢查询日志的开启与配置

    这篇文章主要介绍了MySQL 慢查询日志的开启与配置的方法,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-12-12
  • 浅谈选择mysql存储引擎的标准

    浅谈选择mysql存储引擎的标准

    本文介绍了如何选择mysql存储引擎,从存储引擎的介绍、几个常用引擎的特点三个方面进行讲解,感兴趣的小伙伴们可以参考一下
    2015-07-07
  • MySQL数据库表的合并与分区实现介绍

    MySQL数据库表的合并与分区实现介绍

    今天我们来聊聊处理大数据时Mysql的存储优化。当数据达到一定量时,一般的存储方式就无法解决高并发问题了。最直接的MySQL优化就是分区分表,以下是我个人对分区分表的笔记
    2022-09-09
  • 利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法分享

    利用mysql的inet_aton()和inet_ntoa()函数存储IP地址的方法分享

    当前很多应用都适用字符串char(15)来存储IP地址(占用16个字节),利用inet_aton()和inet_ntoa()函数,来存储IP地址效率很高,适用unsigned int 就可以满足需求,不需要使用bigint,只需要4个字节,节省存储空间,同时效率也高很多
    2012-03-03
  • MySQL 句柄数占用过多的解决方法

    MySQL 句柄数占用过多的解决方法

    本文主要介绍解决MySQL句柄占用过多的方法,简单实用,需要的朋友可以参考下。
    2016-05-05

最新评论