VS2022 C++ 连接 MySQL8 前置要求: 下载安装 VS2022,MySQL8。 然后,配置 VS 环境。 之后,就是把相关的头文件和库目录添加到配置中: 之后,还要将 libmysql.lib 文件添加到项目的根目录下: 然后,我们可以写一个简单的查询来测试一下: #define _CRT_SECURE_NO_WARNINGS #include <Windows.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <mysql.h> #include <iostream> using namespace std; //#pragma comment(lib,"libmysql.lib") int main() { const char user[] = "root"; //username const char pswd[] = "lf123456"; //password const char host[] = "localhost"; //or"127.0.0.1" const char database[] = "computer_network"; //database //有相应的数据库 unsigned int port = 3306; //server port MYSQL myCont; MYSQL_RES* result = NULL; MYSQL_ROW sql_row; MYSQL_FIELD* fd; char column[32][32]; int res; mysql_init(&myCont); //auto ret = mysql_real_connect(&myCont, host, user, pswd, database, port, NULL, 0); if (mysql_real_connect(&myCont, host, user, pswd, database, port, NULL, 0)) { cout << "connect succeed!" << endl; mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式,否则在cmd下无法显示中文 res = mysql_query(&myCont, "select * from test_tb limit 2");//查询 //database下有相应的表才能成功 if (!res) { result = mysql_store_result(&myCont);//保存查询到的数据到result if (result) { int i, j; cout << "number of result: " << (unsigned long)mysql_num_rows(result) << endl; for (i = 0; fd = mysql_fetch_field(result); i++)//获取列名 { strcpy(column[i], fd->name); } j = mysql_num_fields(result); for (i = 0; i < j; i++) { printf("%s\t", column[i]); } printf("\n"); while (sql_row = mysql_fetch_row(result))//获取具体的数据 { for (i = 0; i < j; i++) { printf("%s\n", sql_row[i]); } printf("\n"); } } } else { cout << "query sql failed!" << endl; } } else { cout << "connect failed!" << endl; } if (result != NULL) mysql_free_result(result);//释放结果资源 mysql_close(&myCont);//断开连接 return 0; } 输出结果: 数据库中的数据: #环境配置 VS2022 C++ 连接 MySQL8 http://fanyfull.github.io/2022/06/20/VS2022-C-连接-MySQL8/ 作者 Fany Full 发布于 2022年6月20日 许可协议 Java 后端传 Long 值到前端时精度丢失问题 上一篇 计算机网络上机实验三 下一篇 Please enable JavaScript to view the comments