Visual studio中C/C++连接mysql

我使用的是Visual studio 2019连接的数据库,其他版本的VS操作应该类似

1.选择X64

因为我们使用的MySQL 提供的连接库(如 libmysql.dll 或 MySQL Connector)都是64位的,所以不能选择X86版本


2.找到本地安装MySQL的目录

MySQL默认的安装路径为C:\Program Files\MySQL

进入目录中,我们可以看到MYSQL提供了6个文件夹,这里我们使用MySQL Server 8.0

进入MySQL Server 8.0文件夹,我们要记住下面的两个文件夹,后面配置环境时需要includelib

记住下面2个路径:
C:\Program Files\MySQL\MySQL Server 8.0\include
C:\Program Files\MySQL\MySQL Server 8.0\lib


3.右击项目------>属性------>VC++目录

C:\Program Files\MySQL\MySQL Server 8.0\include复制到包含目录

C:\Program Files\MySQL\MySQL Server 8.0\lib复制到引用目录


  1. 右击项目------>属性------>C/C++------>常规------>附加包含目录

C:\Program Files\MySQL\MySQL Server 8.0\include复制到附加包含目录


  1. 右击项目->属性->链接器->常规->附加库目录

C:\Program Files\MySQL\MySQL Server 8.0\lib复制到附加库目录

  1. 右击项目->属性->链接器->输入->附加依赖项

libmysql.lib添加到附加依赖项

  1. libmysql.dlllibmysql.lib复制到项目中

C:\Program Files\MySQL\MySQL Server 8.0\lib路径下的libmysql.dlllibmysql.lib复制到当前项目目录中

复制过来:

完成上面7个步骤,就完成了Visual studio中C/C++连接mysql

  1. 测试是否配置成功

我们想要使用数据库,要引头文件<mysql.h>

使用下面代码,如果没有报错,说明配置成功(注意,mysql_real_connect(&mysql, "127.0.0.1", "root", "pwd12345678", "testdb", 3306, NULL, 0)中第二三四个参数分别为数据库用户的用户名、密码、数据库名,要改成自己的再测试)

c 复制代码
#include <mysql.h>
#inclide <stdio.h>
int main()
{
    MYSQL mysql;
	MYSQL_RES* res;
	MYSQL_ROW row;

	mysql_init(&mysql);
	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
	if (mysql_real_connect(&mysql, "127.0.0.1", "root", "pwd12345678", "testdb", 3306, NULL, 0) == NULL) {
		printf("错误原因: %s\n", mysql_error(&mysql));
		printf("连接失败!\n");
		exit(-1);
	}

	int choice = 0;
}
相关推荐
2401_891482172 小时前
多平台UI框架C++开发
开发语言·c++·算法
身如柳絮随风扬2 小时前
MySQL核心知识
数据库·mysql
无敌昊哥战神2 小时前
【LeetCode 257】二叉树的所有路径(回溯法/深度优先遍历)- Python/C/C++详细题解
c语言·c++·python·leetcode·深度优先
551只玄猫2 小时前
【数据库原理 实验报告1】创建和管理数据库
数据库·sql·学习·mysql·课程设计·实验报告·数据库原理
q5431470872 小时前
MySQL SQL100道基础练习题
数据库·mysql
Darkwanderor3 小时前
三分算法的简单应用
c++·算法·三分法·三分算法
zhoupenghui1683 小时前
mysql 中如果条件where中有or,则要求or两边的字段都必须有索引,否则不能用到索引, 为什么?
数据库·mysql·索引
2401_831920743 小时前
分布式系统安全通信
开发语言·c++·算法
2401_877274244 小时前
从匿名管道到 Master-Slave 进程池:Linux 进程间通信深度实践
linux·服务器·c++
m0_488633324 小时前
C语言中枚举类型变量的定义、赋值及使用方法全解析
c语言·枚举类型·实例分析·变量定义·赋值使用