2021-01-16

vs2017 连接mysql 8.0

我的环境:vs2017 64bit + mysql 8.0 64 bit(完整版)

1.把 libmysql.dll 复制到 xxx.vcxproj 的同级目录,libmysql.dll 在安装mysql安装目录下找,我的在C:\Program Files\MySQL\MySQL Server 8.0\lib文件夹里。
在这里插入图片描述
放到这个位置:
在这里插入图片描述
libmysql.lib 拷贝到 与xxx.sln 同级目录的 自己新建的lib文件夹下(工程文件夹的其他位置均可,加载的时候对应好即可)。
在这里插入图片描述
在这里插入图片描述

2.把需要用的头文件拷贝到工程目录下:用到C:\Program Files\MySQL\MySQL Server 8.0\include文件夹下的所有头文件。
在这里插入图片描述
在这里插入图片描述

head文件夹是自己创建的,在别的位置也可以。

3.在工程上点击右键–>属性

将l连接所需mysql相关头文件包含进去,点击Vc++目录–>包含目录
在这里插入图片描述
根据.h文件位置写。我放在 xxx.vcxprojt同级目录的自建文件夹head下,所以绝对路径为 ./head

在这里插入图片描述
点击 链接器–>常规–>附加库目录,输入libmysql.lib的绝对路径。我的libmysql.lib放在lib文件夹下
在这里插入图片描述
相对于 xxx.vcxproj 来说,路径为 …\lib
在这里插入图片描述
点击 链接器–>输入–>附加依赖库,输入 libmysql.lib,确定
在这里插入图片描述
代码:

// tmysql.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <stdio.h>
#include <iostream>
#include "mysql.h"
using namespace std;
//#include <mysql.h> 如果配置ok就可以直接包含这个文件
int main(void)
{
	MYSQL mysql;    //一个数据库结构体
	MYSQL_RES* res; //一个结果集结构体
	MYSQL_ROW row;  //char** 二维数组,存放一条条记录
	//初始化数据库
	mysql_init(&mysql);
	//设置编码方式
	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
	
	//连接数据库
	//判断如果连接失败就输出连接失败。
	//注意你连接的账户名密码
	if (mysql_real_connect(&mysql, "localhost", "root", "root", "mysql", 3306, NULL, 0) == NULL)
	cout << "disconnect!" << endl;
	//注意你连接的账户名密码
			//注意你连接的账户名密码
					//注意你连接的账户名密码
							//注意你连接的账户名密码
	else
		cout << "success" << endl;
	
	//查询数据
	mysql_query(&mysql, "select * from t_worker");
	//获取结果集
	res = mysql_store_result(&mysql);
	
	//增加数据
	mysql_query(&mysql, "insert into t_worker values(9,'HHH',9000,'2020-06-07 10:23:56')");

	//删除数据
	mysql_query(&mysql, "delete from t_worker where number<3000");
	mysql_query(&mysql, "delete from t_worker where date>'2021-01-12 10:10:10'");

	//修改数据
	mysql_query(&mysql, "update t_worker set number=9999 where date>'2021-01-01 10:10:10'");

	//显示数据
	printf("ID\t姓名\t工资\t加入日期 \n");
	//给ROW赋值,判断ROW是否为空,不为空就打印数据。
	while (row = mysql_fetch_row(res))
	{
		printf("%s  ", row[0]);//打印ID
		printf("\t%s", row[1]);//打印姓名
		printf("\t%s", row[2]);//打印工资
		printf("\t%s\n", row[3]);//打印日期
	}
	//释放结果集
	mysql_free_result(res);
	//关闭数据库
	mysql_close(&mysql); 
	//停留等待
	system("pause");
	return 0;
}

可以通过navacat或者命令行看对数据库操作是否成功。

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值