c语言执行mysql存储过程后再次执行失败

   	strcpy(query, "call sp_syslogalarmget()");
   	printf("query sql=[%s]\n",query);
	if(mysql_query(mysql, query) != 0)
	{
		printf("Couldn't get result from %s\n", mysql_error(mysql));
		DisconnectMysql();
		ConnectMysql();
		return;
	}
    	......
   	mysql_free_result(result);


以上是该部分代码,mysql是全局变量,第二次执行失败后提示:

经查询,该存储过程被执行后存在不只一个结果集,故应添加如下代码:

 	while(mysql_next_result(mysql) == 0)
 	{
   		if(result = mysql_store_result(mysql))
     		mysql_free_result(result);
 	}


 

 

你可能感兴趣的:(c语言,mysql)