MYSQL mysql;
mysql_init(&mysql);
mysql_real_connect(&mysql,"localhost","root","","billingdb",0,NULL,CLIENT_MULTI_STATEMENTS);
mysql_query(&mysql,"call pr_add()");  //能执行无返回存储过程正常
......                                 //往下再执行其他SQL无效
mysql_query(&mysql,"delete from DB_ACCUNT where acc_plat='address'"); //这是再执行查询或删除,修改无效??
...../////////////////////////////////////////////////
如果是换成这样这样:
MYSQL mysql;
mysql_init(&mysql);
mysql_real_connect(&mysql,"localhost","root","","billingdb",0,NULL,CLIENT_MULTI_STATEMENTS);
mysql_query(&mysql,"call pr_add()"); //执行无返回存储过程过程正常
mysql_close(&mysql);       //执行操作存储过程后关闭!!一次数据库mysql_init(&mysql);        //再重新链接打开数据库
mysql_real_connect(&mysql,"localhost","root","","billingdb",0,NULL,CLIENT_MULTI_STATEMENTS);
mysql_query(&mysql,"delete from DB_ACCUNT where acc_plat='address'"); //这是再执行查询或删除,修改没问题
mysql_close(&mysql);
.....                     //下来除不再操作存储过程,查询或删除,修改。。都正常问题是:如果不执行存储操作,,,所有的查询或删除,修改没问题,,, 
  如果不存储操作,后不关闭数据库,重新链接 所有的查询或删除,修改后不执行(查询不返回,增。删。没效) 怪??,,,
问题在哪里?  头疼呀, 是不是每次操作存储过程后,都要断开一次链接,再接通???问题出在哪里,
换了最的libmysql.dll 也不行,,,,在mySQL 第三方查询工具里面, 用SQL 语句操作都没问题??
哪位用过的朋友帮忙看看,问题出在哪里,还是我用的查询有问题??????先谢谢了

解决方案 »

  1.   

    mysql_query(&mysql,"call pr_add()"); //能执行无返回存储过程正常
    加一句 mysql_free_result();试试
      

  2.   

    mysql_real_connect(&mysql,"localhost","root","","billingdb",0,NULL,CLIENT_MULTI_STATEMENTS);
    mysql_query(&mysql,"call pr_add()"); //执行无返回存储过程过程正常如果是同一个连接,不关闭,必须先把所有的结果集取出来,关闭释放再执行其它的操作。详见下边的一个示例:
    http://www.iihero.com/?id=12