VS 2017 连接MySQL数据库

一、在操作之间首先安装软件

1、Windows下安装MySQL数据库
2、安装Visual Studio 2017

二、VS 2017环境配置

  1. 点击项目->项目属性,操作如图:
    在这里插入图片描述
    2、选择C/C++,在常规的附加包含目录添加mysql安装地址中include文件的地址,如我的地址是C:\Program Files\MySQL\MySQL Server 5.7\include,如图:
    在这里插入图片描述

  2. 选择链接器,在常规中附加目录中添加mysql安装地址lib文件的地址,如我的地址是C:\Program Files\MySQL\MySQL Server 5.7\lib,如图:
    在这里插入图片描述

  3. 点击链接器中的输入,在附加依赖项中添加libmysql.lib,如图:
    在这里插入图片描述

  4. 将mysql安装目录C:\Program Files\MySQL\MySQL Server 5.7\lib下的libmysql.dll复制到自己所建立的项目的同名文件夹下中,如图:
    在这里插入图片描述

  5. 将运行的平台给为x64为,如图:
    在这里插入图片描述

三、数据库操作代码

说明:这里我使用的是远程的数据库来进行连接

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

int main()
{
	int res;
	MYSQL conn;
    //初始化MySQL连接句柄
	mysql_init(&conn);
	if (&conn != NULL)
	{
		printf("mysql句柄初始化成功\n");
	}
	else
	{
		printf("Err in init\n");
		return -1;
	}
	//连接mysql数据库
	if (mysql_real_connect
	    (&conn,  //MySQL句柄 
		"192.168.37.134",  //参数地址,本地数据库使用localhost
		"root", //数据库名
		"123456", //数据库密码
		"db_test", //数据库名
		0, //数据库端口,0表示默认(即3306)
		NULL, //如果unix_socket不是NULL,字符串指定套接字或应该被使用的命名管道。注意host参数决定连接的类型
		0)) //通常是0
	{                      
		      
		printf("数据库连接成功\n");
	}
	else
	{
		printf("数据库连接失败\n");
		mysql_close(&conn);  //关闭连接
		return -1;
	}
	//数据的插入
	res = mysql_query(&conn, "insert into testTB3 values(5,'aa')"); //MySQL句柄  SQL语句
	if (res == 0)
	{
		printf("插入成功\n");
	}
	else
	{
		printf("插入失败\n");
		mysql_close(&conn);
		return -1;
	}
	//数据的删除
	res = mysql_query(&conn, "delete from testTB3 where name='aa'");
	if (res == 0)
	{
		printf("删除成功\n");
	}
	else
	{
		printf("删除失败\n");
		mysql_close(&conn);
		return -1;
	}
	//数据的查询
	res = mysql_query(&conn, "select * from testTB3");
	if (res == 0)
	{
		printf("查询成功\n");
	}
	else
	{
		printf("查询失败\n");
		mysql_close(&conn);
		return -1;
	}
	//解析查询结果
	MYSQL_RES *res_ptr;//指向结果集索引的指针
	res_ptr = mysql_store_result(&conn);//检索完整的结果集当当前程序
	if (res_ptr != NULL)
	{
		//打印出结果集中一共有多少行记录
		unsigned long Row = mysql_num_rows(res_ptr);//结果集中的行数
		printf("有%lu行记录\n", Row);
	}
	else
	{
		printf("结果集操作保留出错\n");
		mysql_close(&conn);
		return -1;
	}
	//取出字段名
	MYSQL_FIELD *fd;
	int i = 0;
	while (fd = mysql_fetch_field(res_ptr))
	{
		printf("%s\t", fd->name);
		i++;
	}
	putchar('\n');
	//取出所有内容
	MYSQL_ROW sqlrow;
	int j;
	while (sqlrow = mysql_fetch_row(res_ptr))
	{
		//将每一行的内容分割成每一个记录
		for (j = 0; j < i; j++)
		{
			printf("%s\t", sqlrow[j]);
		}
		putchar('\n');
	}

	//释放结果集索引所在内存
	mysql_free_result(res_ptr);

	mysql_close(&conn);
	return 0;
}

运行结果,如图所示:
在这里插入图片描述

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值