文章目录

  • 一、准备工作
    • 1.环境配置
    • 2.新建空项目
    • 3.给新建项目配置mysql依赖文件及库
  • 二、开始准备连接
    • 1.新建源文件
    • 2.写入头文件
    • 3.增加主函数
  • 三、从数据库获取数据
    • 1.下面是mysql可视化工具(数据库里的数据)
    • 2.继续增加代码获取数据
    • 3.增加设置编码代码(具体位置看总体代码)
  • 四、总体代码
    • 参考:

一、准备工作

1.环境配置

  • mysql数据库安装(我使用的是mysql5.6)
  • C/C++编译器(我的是VS2017)

2.新建空项目

3.给新建项目配置mysql依赖文件及库

  • 找到mysql安装目录
  • 给项目配置包含目录及库目录
    • 右击项目属性 -> 找到VC++ 目录(将对应路径配置)

      确定即可

二、开始准备连接

1.新建源文件

2.写入头文件

#include<stdio.h>
#include<stdlib.h>
#include <winsock.h> //网络编程头文件,mysql.h需要用到,在他前面
#include <mysql.h>    //数据库头文件
#pragma comment (lib, "libmysql.lib") //链接库

3.增加主函数

int main()
{MYSQL *conn; //数据库连接句柄MYSQL_RES *res; //执行数据库语言结果MYSQL_ROW row; //存放一个数据记录char* server = "localhost";//本地连接char* user = "root";//char* password = "root";//mysql密码char* database = "jdbctest";//数据库名char* query = "select * from user";//需要查询的语句conn = mysql_init(NULL); //句柄初始化int t;if (!mysql_real_connect(conn, server, user, password, database, 3306, NULL, 0)) //判断数据库是否连接成功{printf("Error connecting to database:%s\n", mysql_error(conn));}else {printf("Connected...\n");}system("pause");return 0;
}
如果提示报错:


打开项目属性 ->C/C++ ->语言 -> 符合模式改为否
打开项目属性 ->C/C++ ->代码生成 -> 安全检查 ->关闭

  • 可以编译运行
  • 可以连接成功

三、从数据库获取数据

1.下面是mysql可视化工具(数据库里的数据)

2.继续增加代码获取数据

if (mysql_query(conn, query)){printf("Error making query:%s\n", mysql_error(conn));}else {printf("Query made...\n");res = mysql_use_result(conn);   //获取结果if (res){while ((row = mysql_fetch_row(res)) != NULL){//printf("num=%d\n",mysql_num_fields(res));//列数for (t = 0; t < mysql_num_fields(res); t++)printf("%8s ", row[t]);printf("\n");}}mysql_free_result(res);}mysql_close(conn); //断开数据库
  • 编译运行:
  • 可以看到中文会出现乱码

3.增加设置编码代码(具体位置看总体代码)

//字符编码,解决乱码if (!mysql_set_character_set(conn, "gbk")){printf("New client character set: %s\n",mysql_character_set_name(conn));}
  • 编译运行
  • 成功

四、总体代码

#include<stdio.h>
#include<stdlib.h>
#include <winsock.h>
#include <mysql.h>
#pragma comment (lib, "libmysql.lib")int main()
{MYSQL *conn; //数据库连接句柄MYSQL_RES *res; //执行数据库语言结果MYSQL_ROW row; //存放一个数据记录char* server = "localhost";//本地连接char* user = "root";//char* password = "root";//mysql密码char* database = "jdbctest";//数据库名char* query = "select * from user";//需要查询的语句conn = mysql_init(NULL); //句柄初始化int t;if (!mysql_real_connect(conn, server, user, password, database, 3306, NULL, 0))  //判断是否连接成功{printf("Error connecting to database:%s\n", mysql_error(conn));}else {printf("Connected...\n");}//字符编码,解决乱码if (!mysql_set_character_set(conn, "gbk")){printf("New client character set: %s\n",mysql_character_set_name(conn));}if (mysql_query(conn, query)){printf("Error making query:%s\n", mysql_error(conn));}else {printf("Query made...\n");res = mysql_use_result(conn); //获取结果if (res){while ((row = mysql_fetch_row(res)) != NULL){//printf("num=%d\n",mysql_num_fields(res));//列数for (t = 0; t < mysql_num_fields(res); t++)printf("%8s ", row[t]);printf("\n");}}mysql_free_result(res);}mysql_close(conn); //断开数据库system("pause");return 0;
}

参考:
  • https://blog.csdn.net/u011633428/article/details/86022135
  • https://blog.csdn.net/qq_18297675/article/details/52239881
  • https://blog.csdn.net/qq_21997625/article/details/75059616?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.pc_relevant_is_cache&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.pc_relevant_is_cache

C语言连接mysql数据库详细步骤相关推荐

  1. PowerDesigner 连接MySQL数据库详细步骤

    PowerDesigner 连接MySQL数据库详细步骤 简介 有的时候我们想把数据表结构可视化,想知道表中有哪些字段,表与表之间的关联关系,这个时候我们可以使用PowerDesigner工具,将表转 ...

  2. 水晶报表 mysql_水晶报表CrystalReport2008使用JDBC连接MySQL数据库-详细步骤

    水晶报表CrystalReport2008使用JDBC连接MySQL数据库-详细步骤 一:前期准备工作 lCrystal Report 2008 lJDBC相关jar包 ---mysql-connec ...

  3. U3D连接MySQL数据库详细步骤解析

    本文转自博主Hozshan的文章 "Unity3D 学习笔记(四) Unity连接MySQL数据库",他对各个步骤都做了详细的介绍. 文章链接:https://blog.csdn. ...

  4. myeclipse连接mysql怎么调用_myeclipse连接mysql数据库详细步骤

    第一步 打开Database  windows-prefenrence-showview-DBbrowser ,此时会在工具底部有个DBbrowser ,选中它,再它所控制的页面的任意位置 右击new ...

  5. C#连接MySQL数据库详细步骤

    C#连接MySQL数据库 连接之前的准备 要完成的任务 连接MySql数据库 写我们的代码 运行出错: 程序效果: 本人的问题,用的是vs2010,连接数据库就没有那么方便了,下面是具体连接数据库的过 ...

  6. Java连接Mysql数据库详细步骤(超级详细)

    首先,我们需要下载驱动包, 驱动包我已放入下面网盘里了 链接:https://pan.baidu.com/s/1AeYoB_KpNgfnBd4tRr-ang  提取码:rrle 适用连接8.0及以上的 ...

  7. C语言连接MySQL数据库编程教程:超详细

    ** C语言连接MySQL数据库编程教程 ** 一.下载安装mysql.h库文件 我们使用的编译器一般为VC6.0或者VS,默认的都是32位编译器,所以我们下载的库文件也直接下载32位的就可以.下面附 ...

  8. C语言连接mysql数据库(一)

    编程 IDE:Visual Studio (其他的本人没有试过 QWQ) 前提:已经安装 mysql,并且成功连接 23/5/24 更新:一个基于 c 语言.mysql 的小型示例学生管理系统 资源路 ...

  9. mysql用c语言连接驱动程序,C语言连接MySql数据库

    操作系统:Windows7(32位) 编译软件:Code::Blocks 10.05 数 据 库:mysql-5.1.62-win32 数据库内的数据: 测试代码: #include #include ...

最新文章

  1. C#网页数据采集(一)HtmlAgilityPack
  2. Servlet的部分request请求处理
  3. MATLAB-向量相关计算
  4. 【年度开源、工具合集】牛津计划,DMTK,Graph Engine…提高你的工作效率!
  5. DCMTK:DcmAttributeFilter类的测试程序
  6. Gradle在大型Java项目上的应用
  7. 【图片识别】java 图片文字识别 ocr (转)
  8. java简单的事务处理_JAVA之JDBC简单事务处理
  9. 斐波那契数(动态规划和递归)
  10. OKHttp源码解析(1)----整体流程
  11. vi/vim编辑器常用命令
  12. 电脑版微信发消息转圈圈
  13. Keil 保护视力背景颜色设置
  14. 十行以内,你写过哪些比较酷的 Matlab 代码?
  15. 黑客游戏Hacknet下载(游戏分享一)
  16. 【冬季】寒冬已至,让这些公众号温暖你的冬天
  17. Debian搭建PPTP
  18. 软件测试周刊(第59期):觉得自己生活的很好吗?为什么视而不见?
  19. phpstudy宝塔_宝塔和phpstudy的区别
  20. 招投标阶段的内部控制要点

热门文章

  1. 我一直惊讶于人们的创造力--转自南方周末
  2. 【大数据】政务大数据体系建设内容
  3. java 16进制字符串转base64_16进制字符串,byte[] ,base64三者之间的转换
  4. libsodium引用报错FileNotFoundError: [Errno 2] No such file or directory: b‘liblibsodium.a‘
  5. jquery 逗号分割截取字符串_jQuery 字符串截取与数组截取
  6. Solaris/Linux 命令手册
  7. 【数论】质数筛选法(埃拉托色尼筛法及线性筛法)
  8. utils系列 python将jp2图像格式转为jpg可读格式
  9. 科林明伦杯哈尔滨理工大学第六届程序设计团队赛(12.10)
  10. matlab建模总结,MATLAB 数学建模方法与实践(第 3 版)