我打算下午配置各种环境,尝试将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数据库的常见问题有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!