博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决error:2014 Commands out of sync; you can't ru...
阅读量:6408 次
发布时间:2019-06-23

本文共 1465 字,大约阅读时间需要 4 分钟。

hot3.png

今天遇到这个问题。。

http://blog.csdn.net/grass_ring/article/details/3499402

  前两天搞mysql的东西,用mysql提供的C API 访问,遇到些问题,在这里分享一下,希望对其他人有帮助。

   mysql C API 调用存储过程,并返回结果集。需要注意几个问题:

在建立链接的时候要加选项CLIENT_MULTI_STATEMENTS CLIENT_MULTI_RESULTS,以便可以让query执行多个语句。

mysql_real_connect(mySQL,serverIP,user,password,database,serverPort,NULL,CLIENT_MULTI_STATEMENTS)

     当query时可能产生错误error:2014 Commands out of sync; you can't run this command now

 

Mysql文档中说明错误:Commands out of sync

If you get Commands out of sync; you can't run this command now in your client code, you are calling client functions in the wrong order.

This can happen, for example, if you are using and try to execute a new query before you have called . It can also happen if you try to execute two queries that return data without calling or in between.

 

当执行完query后,mysql将结果集放在一个result集中,产生以上问题的原因有两个:

一是未将MYSQL_RES所指对象释放,即在下次查询时要mysql_free_result();

二是结果result集不为空,这个原因比较隐蔽。解决方法可以用如下写法:

do

{

  /* Process all results */

  printf("total affected rows: %lld", mysql_affected_rows(mysql));

  ...

  if (!(result= mysql_store_result(mysql)))

  {

     printf(stderr, "Got fatal error processing query/n");

     exit(1);

  }

  process_result_set(result); /* client function */

  mysql_free_result(result);

} while (!mysql_next_result(mysql));

还有个问题感觉比较奇怪,我调用一个存储过程,存储过程中就一句select

Create procedure test()

Begin

    Select * from test ;

End ;

用以上方法处理结果集循环会执行两次,开始我只调了一次result= mysql_store_result(mysql)),导致以后执行query2014错误。

转载于:https://my.oschina.net/sincoder/blog/97296

你可能感兴趣的文章
java发送邮件 不登陆_Java邮件到Exchange Server“不支持登录方法”
查看>>
编程学习初体验(5. 如何自学编程)(2)
查看>>
思科ISR G1与ISR G1C的区别
查看>>
利用perl提取web配置文件中的域名对应的路径
查看>>
Centos5上安装JRE和LUMAQQ
查看>>
关于监控工具的主动发起性能测试
查看>>
我的友情链接
查看>>
OpenSSL学习(十六):基础-指令rand
查看>>
Apache+tomcat实现高可用WEB集群
查看>>
KeyMob致力于打造国内领先的移动广告平台
查看>>
oracle的基本语法
查看>>
路由选路原则
查看>>
jvm 学习(一)
查看>>
JavaScript简介
查看>>
SQL Server附加数据库拒绝访问解决方法汇总
查看>>
SM2算法原理及实现
查看>>
RHCA教材翻译计划
查看>>
js-小括号在不同场合下的作用
查看>>
我的友情链接
查看>>
kvm中虚拟机的硬盘扩容
查看>>