【发布时间】:2013-06-14 19:29:20
【问题描述】:
环境:
我正在使用 MySQL C 连接器编写代码。
错误:
第二次(以及所有后续)获取数据的调用始终返回“命令不同步”“现在无法运行此命令”错误。
- 我为每个调用运行相同的 sql。
- 如果我关闭调用之间的连接,则不会发生错误。
算法:
我准备调用一个存储过程。
调用mysql_stmt_result_metadata()获取t元数据。
绑定结果。
调用 mysql_stmt_store_result() 来缓冲结果。
调用 mysql_stmt_fetch() 获取所有结果。
完成后调用 mysql_stmt_free_result()。
调用mysql_stmt_close();
我从 this 示例中建模了我的代码。我所做的唯一更改是调用 mysql_stmt_store_result() 以便在获取结果集之前获取它的大小。
有什么建议吗?
【问题讨论】:
-
如果 mysql_stmt_result_metadata() 什么都不返回,那么我不调用 store_result()。我没有描述我要回来的东西。我会尝试添加一个调用并丢弃结果,看看是否能解决问题。谢谢
标签: c++ mysql windows gcc mysql-connector