嵌入式 mysql结果集的返回与处理

原创 2013年12月02日 14:46:06

25.2.3.66. mysql_store_result()

MYSQL_RES *mysql_store_result(MYSQL *mysql)

描述

对于成功检索了数据的每个查询(SELECT、SHOW、DESCRIBE、EXPLAIN、CHECKTABLE等),必须调用mysql_store_result()或mysql_use_result() 

对于其他查询,不需要调用mysql_store_result()或mysql_use_result(),但是如果在任何情况下均调用了mysql_store_result(),它也不会导致任何伤害或性能降低。通过检查mysql_store_result()是否返回0,可检测查询是否没有结果集(以后会更多)。

如果希望了解查询是否应返回结果集,可使用mysql_field_count()进行检查。请参见25.2.3.22节,“mysql_field_count()”。

mysql_store_result()将查询的全部结果读取到客户端,分配1个MYSQL_RES结构,并将结果置于该结构中。

如果查询未返回结果集,mysql_store_result()将返回Null指针(例如,如果查询是INSERT语句)。

如果读取结果集失败,mysql_store_result()还会返回Null指针。通过检查mysql_error()是否返回非空字符串,mysql_errno()是否返回非0值,或mysql_field_count()是否返回0,可以检查是否出现了错误。

如果未返回行,将返回空的结果集。(空结果集设置不同于作为返回值的空指针)。

一旦调用了mysql_store_result()并获得了不是Null指针的结果,可调用mysql_num_rows()来找出结果集中的行数。

可以调用mysql_fetch_row()来获取结果集中的行,或调用mysql_row_seek()和mysql_row_tell()来获取或设置结果集中的当前行位置。

一旦完成了对结果集的操作,必须调用mysql_free_result()。

请参见25.2.13.1节,“为什么在mysql_query()返回成功后,mysql_store_result()有时会返回NULL”.

返回值

具有多个结果的MYSQL_RES结果集合。如果出现错误,返回NULL。

错误

如果成功,mysql_store_result()将复位mysql_error()和mysql_errno()。

·         CR_COMMANDS_OUT_OF_SYNC

以不恰当的顺序执行了命令。

·         CR_OUT_OF_MEMORY

内存溢出。

·         CR_SERVER_GONE_ERROR

MySQL服务器不可用。

·         CR_SERVER_LOST

在查询过程中,与服务器的连接丢失。

·         CR_UNKNOWN_ERROR

出现未知错误。

相关文章推荐

C#连接MySQL数据库实现DataGridView定时更新数据——多结果集返回

本文讨论的主要问题是C#连接MySQL数据库实现 select 多结果集返回,并将结果用DataGridView定时更新。 一、实现中遇到的问题 1、刷新DataGridView显示时出错或者出现大红...

mybatis调用mysql存储过程返回结果集

存储过程中经常需要返回结果集。 Mysql 中直接用 select 即可返回结果集。而 oracle 则需要使用游标来返回结果集。这一点 Mysql 相对比较方便,如下代码即可实现输出结果集: 存储过...

mysql开发存储过程中,select结果集再动态的条件下select count(*)统计返回都为0问题解决

在写mysql存储过程中,遇到一个坑,一般逻辑下select结果集再动态的条件下select count(*)统计返回是能得到正确统计值。但在光标嵌套和for循环中却出现动态sql的结果集始终为0,导...

JAVA连接MYSQL通过查询返回的结果集获取表结构字段类型

static void exec(ResultSet rs, PreparedStatement mstmt) throws SQLException { ResultSetMetaData rs...
  • lu8000
  • lu8000
  • 2013年09月15日 11:12
  • 8738

JSON(04)PHP的JSON处理函数及将MySQL结果集快速转为JSON的方法

我现在弄Web系统,基本上都是JQuery做UI,PHP负责与数据库的交互。两者间用JSON做为数据交换格式。 非常方便,再也不用弄那些框架,模板之类的重型武器了。   在这列PHP与JSON的处...

sql服务器分页返回结果集

  • 2017年07月02日 21:00
  • 1KB
  • 下载

Hibernate SQLQuery 原生SQL 查询及返回结果集处理-1

第一篇:官方文档的处理方法,摘自官方 在迁移原先用JDBC/SQL实现的系统,难免需要采用hibernat native sql支持。 1.使用SQLQuery hibern...

oracle 返回结果集

  • 2013年12月26日 14:09
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 mysql结果集的返回与处理
举报原因:
原因补充:

(最多只允许输入30个字)