VS2017调用MySQL 8.0的方法

时间:2022-06-22 01:14:20

本文实例为大家分享了VS2017调用MySQL 8.0的具体方法,供大家参考,具体内容如下

简述

在网上找了一些解答,发现都有些小问题。

就自己写一个吧

配置

配置很关键。

我的MySQL安装目录为 C:\Program Files\MySQL

VS2017调用MySQL 8.0的方法

2的部分写的地址: C:\Program Files\MySQL\MySQL Server 8.0\include
3的部分写的地址: C:\Program Files\MySQL\MySQL Server 8.0\lib

配置链接器:

VS2017调用MySQL 8.0的方法

2中写的内容为: libmysql.lib

最后一步: 移动这个libmysql.dll C:\Windows\System32 目录下

代码

注意!!上面的这一步非常重要!!

  • pwd:为密码
  • root:账号
  • 3306:登陆端口号
  • jxgl:是我数据库中的一个database
  • 执行的命令中的student是我这个表
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
#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", "pwd", "jxgl", 3306, NULL, 0) == NULL)
 printf("连接失败!\\n");
 //查询数据
 mysql_query(&mysql, "select * from student");
 //获取结果集
 res = mysql_store_result(&mysql);
 
 //给ROW赋值,判断ROW是否为空,不为空就打印数据。
 while (row = mysql_fetch_row(res))
 {
 printf("%s ", row[0]);//打印ID
 printf("%s ", row[1]);//打印姓名
 printf("%s ", row[2]);
 printf("%s \n", row[3]);
 }
 //释放结果集
 mysql_free_result(res);
 //关闭数据库
 mysql_close(&mysql);
 //停留等待
 system("pause");
 return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/a19990412/article/details/83617923