Vistual studio 2017连接MySQL数据库的环境安装步骤

Vistual studio连接MySQL数据库的环境安装步骤

那些年在VS2017遇到的MySQL的那些坑。。。
MySQL的下载地址:https://www.mysql.com/
MySQL安装教程:http://www.runoob.com/mysql/mysql-install.html
附赠一个MySQL的图形化界面的管理软件给同学《Navicat》
链接:https://pan.baidu.com/s/16C2FuzsUUTTYnkRH6vjQtA
提取码:lw2y

简单声明:创建vs和MySQL的连接有很多方法
但是
茫茫人海中你来到了我的book,一定让你收获满满,,,

在这里插入图片描述
下面进行连接
步骤一更换控制台程序
需要注意你使用的是win32还是win64的mysql数据库,因为vs2017默认的console控制台程序是win32的,所以有以下处理方法:
方法1:
将libmysql.lib和libmysql.dll换回32位的版本;
方法2:
1)将console控制台程序改为64位的,具体为:项目–>xx属性(xx为自己取的名字)–>配置管理器–>活动解决方案平台–>新建–>然后选择x64。
2)记得将libmysql.lib和libmysql.dll文件复制到你的工程目录的Debug(或Release)目录下;
3)其他设置:
将x项目属性页的C/C+±>常规->附加包含目录指向:C:\mysql\mysql-5.6.14-winx64\include;
将项目属性页的链接器->常规->附加库目录指向:C:\mysql\mysql-5.6.14-winx64\lib;
将链接器->输入->附加依赖项中添加 libmysql.lib。

其实上面的方法2已经把步骤二写明了。。。

步骤二: 添加mysql外部头文件和库文件路径到工程属性
1. 将x项目属性页的C/C+±>常规->附加包含目录指向:C:\mysql\mysql-5.6.14-winx64\include;
2. 将项目属性页的链接器->常规->附加库目录指向:C:\mysql\mysql-5.6.14-winx64\lib;
3. 将链接器->输入->附加依赖项中添加 libmysql.lib。

保证你知道已装好的最直观的现象就是,在vs2017添加的 #include “mysql.h” 就不会报错啦

不然。。。你可能会遇到这些
在这里插入图片描述
在这里插入图片描述

我的本地数据库
数据库名:root@localhost
密码:123456
数据库:db1
数据表:tb3

可以在window管理员命令窗口或者上面的Navicat工具例创建一个数据库来验证噢~

以下是测试代码

#include <stdio.h>
#include “mysql.h”

MYSQL *g_mysql = NULL;

int main()
{
//初始化MySQL连接句柄
g_mysql = mysql_init( g_mysql );
mysql_real_connect
(
g_mysql,
“localhost”, //数据库地址
“root”, //数据库用户名
“123456”, //数据库密码
“db1”, //数据库名称
0, //数据库端口,0表示默认端口(即3306)
NULL, //如果unix_socket不是NULL,字符串指定套接字或应该被使用的命名管道。注意host参数决定连接的类型
0 //通常是0
)

if (!g_mysql) //连接失败
{
std::cout << “SQL connect error:” << mysql_errno(g_mysql) << ", " << mysql_error(g_mysql) << std::endl;
}
const char *command = “select * from db1.tb3”; //查询指令

// 改变编码格式
mysql_set_character_set(g_mysql, “GB2312”);
//查询数据
int flag = mysql_real_query(g_mysql, command, strlen(command));
if (flag)
{
std::cout << “SQL select error:” << mysql_errno(g_mysql) << ", " << mysql_error(g_mysql) << std::endl;
return 0;
}
MYSQL_RES *res = mysql_store_result(g_mysql); //读取将查询结果
MYSQL_FIELD *field = mysql_fetch_fields(res); //获取所有列名
int field_count = mysql_field_count(g_mysql); //获取列数

//输出所有列名
for (int i = 0; i < field_count; i++)
{
std::cout << field[i].name << " ";
}
std::cout << std::endl;

//遍历输出每一行数据
MYSQL_ROW row;
while (row = mysql_fetch_row(res))
{
for (int i = 0; i < field_count; i++)
{
std::cout << row[i] << " ";
}
std::cout << std::endl;
}

mysql_close(g_mysql); //关闭连接
system(“pause”);
return 0;
}

以下就say bye bye啦…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值