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