c 编程 mysql结果集_使用mysql C语言API编写程序—MYSQL数据库查询操作(执行查询操作,获取查询结果的字段数,记录行数,...
//MYSQL_RES保存查询结构
MYSQL_RES*
result_ = NULL;
int
error_code = 0; //保存错误码
char
error_info[1024] = '\0'; //保存错误信息
//对mysql数据库进行查询操作:
char
query_sql[1024] = "select * from db_name.table_name";
//构建查询sql语句
if(result_
!= NULL) //防止之前已经被使用过(所有的使用,在使用前都要判空)
{
mysql_free_result(result_);
result_
= NULL;
}
if(link_
== NULL) //防止没有链接
{
//重连,按照建立mysql数据库链接的方法进行建立,前面的blog中有讲到
}
//执行sql查询
if(mysql_query(link_,query_sql)
!= 0)
{
//查询失败
error_code
= mysql_errno(link_); //获取错误码
strncpy(error_info,mysql_error(link_),1024);
//获取错误信息
if((error_code
== 2013) || (error_code == 2006)) //2006
mysql服务器不可用,2013查询过程中,丢失链接
{
//重链,按照建立mysql数据库链接的方法进行建立
if(//重链失败)
{
return
false;
}
//重链成功,再次查询
if(mysql_query(link_,query_sql)
!= 0)
{
//再次查询失败
error_code
= mysql_errno(link_);
strncpy(error_info,mysql_error(link_),1024);
//返回错误
return
false;
}
error_code
= 0; //查询成功了。
}
}
else
{
//查询成功
}
//查询成功,保存查询结果
result_
= mysql_store_result(link_);
if(result_
== NULL)
{
error_code
= mysql_errno(link_); //获取错误码
strncpy(error_info,mysql_error(link_),1024);
//获取错误信息
//返回错误
return
false;
}
//获取查询结果的行数(记录数)
return
mysql_num_rows(result_);
//获取查询结果的字段数
return
mysql_num_fields(result_);
//获取查询结果的各个字段的字段名称
MYSQL_FIELD
*fields; //保存字段名字信息
unsing
int num_fields;
unsigned
int i;
num_fields
= mysql_num_fields(result); //获取查询结果中,字段的个数
fields
= mysql_fetch_fields(result); //获取查询结果中,各个字段的名字
for(i =
0; i < num_fields;i++)
{
printf("field
%u is %s\n",i,fields[i].name);
}
//获取查询出来的结果,即遍历查询到的每一行记录
MYSQL_ROW
row; //保存行记录信息
unsigned
int num_fields;
unsigned
int i;
num_fields
= mysql_num_fields(result_);
while((row
= mysql_fetch_row(result_))) //遍历查询结果中的各行记录
{
unsigned
long *lengths = NULL;
lengths
= mysql_fetch_lengths(result_); //获取每一个记录行中,每一个字段的长度,在lengths数组中。
for( i
= 0; i < num_fields; i++)
{
printf("数据长度%u
\t 数据内容%s",lengths[i],row[i]?row[i]:"NULL");
}
printf("\n");
}
//释放资源,断开链接
if(result_ != NULL)
{
mysql_free_result(result_);
result_ = NULL;
}
if(link_ != NULL)
{
mysql_close(link_);
link_ = NULL;
}
c 编程 mysql结果集_使用mysql C语言API编写程序—MYSQL数据库查询操作(执行查询操作,获取查询结果的字段数,记录行数,...相关推荐
- c语言 mysql 查询数字_使用mysql C语言API编写程序—MYSQL数据库查询操作
//MYSQL_RES保存查询结构 MYSQL_RES* result_ = NULL; int error_code = 0;//保存错误码 char error_info[1024] = '\0' ...
- mysql group by取条数最多_mysql获取group by总记录行数的方法
本文实例讲述了mysql获取group by总记录行数的方法,分享给大家供大家参考.具体方法分析如下: 一般来说,mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组 ...
- mysql groupby 取值_mysql获取groupby总记录行数的方法
本文实例讲述了mysql获取group by总记录行数的方法,分享给大家供大家参考.具体方法分析如下: 一般来说,mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组 ...
- mysql group by 行数_mysql获取group by的总记录行数另类方法
mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数. mysql的SQL_CALC_FOUND_ROWS 使用 获取查询的行数 在很多分页的程序中都这样写: ...
- excel隐藏了列数和行数_快速隐藏Excel行和列
excel隐藏了列数和行数 In some of my Excel workbooks there are calculation rows or columns that are required ...
- Python编程 统计Java源文件代码行数,注释行数,空白行数
每次学习新的语言,就想重新实现一遍做过的课设=,= 这里实现的是"综合性实验 Java源代码分析程序"的第三部分 第二部分见:[Python编程]统计目录下Java源文件的关键字出 ...
- mysql 帮助命令_一篇文章帮你搞定所有MySQL命令!
MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等.而这两个方面又可以细分如下: MySQL常用语句 表 ...
- mysql 连接 中文_大佬们E语言连接MYSQL输出中文乱码怎么破
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 .版本 2 .支持库 mysql .支持库 iext .程序集 窗口程序集_启动窗口 .子程序 _按钮1_被单击 数据库连接句柄 = 连接MySql (& ...
- mysql sqlserver对比_很用心的写了 9 道 MySQL 面试题
MySQL 一直是本人很薄弱的部分,后面会多输出 MySQL 的文章贡献给大家,毕竟 MySQL 涉及到数据存储.锁.磁盘寻道.分页等操作系统概念,而且互联网对 MySQL 的注重程度是不言而喻的,后 ...
最新文章
- 无法启动MySQL数据库
- sendmail(一)
- 郁闷心情——电话聊天排解法
- 浅谈产品的用户画像:它并不是万能的
- 背景图页面缩小会变形_社团招新迎新海报背景图第321期
- android做题imageview缩放,巧用ViewPager实现驾考宝典做题翻页效果
- Android 应用开发(20)--- 定义自定义应用程序权限
- java解析csv文件工具类,java操作CSV文件工具类
- python 图片识别
- Flutter入门——山寨掘金(二)
- 安全辅助 冰刃 IceSword 1.2 中文版 修正号061022
- linux vi命令怎么使用方法,Linux下 vi 命令用法
- 微软服务器如何启动tomcat,Windows服务器下重启Tomcat服务步骤
- DNS解析出错导致网站在部分地区无法打开
- brew安装php-ffmpeg,macos安装ffmpeg以及出现问题的解决方案,一次成功
- MATLAB因子分析
- 【雷达原理】FMCW雷达简介
- Flutter移动电商实战 --(14)首页_拨打电话操作
- CNN误差反传时旋转卷积核的简明分析
- 神奇的算法(一):欧几里德算法
热门文章
- Xamarin.Forms: 无限滚动的ListView(懒加载方式)
- 盘点大厂的那些开源项目 - 小米科技
- dotNet Core 3.1 使用 Aspose (部署 Docker)
- 你是个失败者,有什么资格说话?
- ASP.NET Core Blazor Webassembly 之 路由
- 【项目升级】单库、多库、读写分离 · 任你选
- 开源网站云查杀方案,搭建自己的云杀毒。
- Docker最全教程之Go实战,墙裂推荐(十九)
- 2018年10月28日宁波dotnet社区活动回顾及下次活动预告
- ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)