vs2019配置MySQL记录
一、安装MySQL
参考:MySQL5.5.19的安装步骤
基本上就是一路默认安装就行。
二、验证
左下角打开MySQL
输入秘密能看到如下界面,即表示MySQL安装成功
三、安装vs2019的MySQL驱动
这里主要参考:Visual Studio 2019连接MySQL数据库详细教程
主要是需要下载两个驱动
mysql-for-visualstudio-1.2.9.msi
和
mysql-connector-net-8.0.20.msi
注意:版本尽量对应。默认进去下载的是最新的。
两个驱动下载后,默认安装就行。
四、vs2019连接MySQL数据库
依次打开
添加连接MySQL Database。
注意:可能会提示更新,尽量取消,不要更新。
配置一下,进行测试链接
提示成功即可
五、配置MySQL
选择x64平台
1.项目属性管理器增加MySQL属性
属性管理器----Debug | x64-----右击鼠标----添加新项目属性表-----重命名为MySQL
2.配置MySQL属性
新建代码,写入如下代码
#include <stdio.h>
#include <WinSock.h>
#include <Windows.h>
#include <mysql.h>
#include<iostream>
using namespace std;MYSQL mysql; //mysql连接
MYSQL_RES* res; //一个结果集结构体
MYSQL_ROW row; //char** 二维数组,存放一条条记录 const char DataBase_UserName[] = "root"; //数据库用户名username
const char DataBase_Password[] = "123456"; //数据库密码,填自己的密码
const char DataBase_Host[] = "localhost"; //数据库连接地址
//注意有时候使用主机ip会报错,此时可以将ip改为localhost
const char DataBase_Name[] = "test"; //database name
unsigned int DataBase_Port = 3306; //server portbool ConnectDatabase(); //函数申明
void FreeConnect(); //释放资源
void main()
{ConnectDatabase(); //连接数据库//查询数据mysql_query(&mysql, "SELECT * from sheet8");//获取结果集res = mysql_store_result(&mysql);//显示数据//给ROW赋值,判断ROW是否为空,不为空就打印数据。while (row = mysql_fetch_row(res)){printf("%s ", row[0]);//打印IDprintf("%s ", row[1]);//打印IDcout << endl;}getchar();
}
bool ConnectDatabase()
{//初始化mysqlmysql_init(&mysql); //连接mysql,数据库if (!(mysql_real_connect(&mysql, DataBase_Host, DataBase_UserName, DataBase_Password, DataBase_Name, DataBase_Port, NULL, 0))) //中间分别是主机,用户名,密码,数据库名,端口号(可以写默认0或者3306等),可以先写成参数再传进去{printf("Error connecting to database:%s\n", mysql_error(&mysql));return false;}else{MessageBoxA(NULL, "连接MYSQL数据成功!", "消息", MB_OK);printf("Connected...\n");return true;}
}
//释放资源
void FreeConnect()
{//释放资源//mysql_free_result(res);mysql_close(&mysql);
}
右击MySQL,点属性
VC++目录-----包含目录
C/C+±-----常规-------附加包含目录
链接器-----常规-------附加库目录
链接器-----输入------附加依赖项,增加libmysql.lib
运行代码,出现如下结果即可
六、备注
1.mysqlx模块问题
mysqlx模块是5.7版本后增加的功能,低于该版本的用不了。因此在代码中出现如下引用会报错
#include <mysqlx/xdevapi.h>