MySQL++操作MySQL中造成Commands out of sync的2014错误分析

MySQL++操作MySQL中造成Commands out of sync的2014错误分析

MySQL++在MySQL原始C接口上做了一些封装, 给操作带来很大便利.

最近遇到DB服务器中报出一个MySQL的错误:Commands out of sync; you can't run this command now,2014

查阅很多代码, 解决方法都是使用C接口的方式, 模仿其解决方法,在MySQL++中找到了比较好的解决方案:

方案A: 清空每次未使用的记录

for (int i = 1; DataQuery.more_results(); ++i)
{
   DataQuery.store_next();                
}

其中 DataQuery类型为mysqlpp::Query

 

方案B: 对于存储过程中,使用了多个select语句返回同样的列结果, 就需要使用以下语句

static void print_multiple_results(Query& query)
{
    // 执行查询并输出结果表
 StoreQueryResult res = query.store();
 print_result(res, 0);
 for (int i = 1; query.more_results(); ++i) {
  res = query.store_next();
  print_result(res, i);
 }
}
 
参考文章:http://hi.baidu.com/freeknight/item/ea9fd88e7d291f854514cf43

你可能感兴趣的:(MySQL++操作MySQL中造成Commands out of sync的2014错误分析)