mysql 存储过程无效_用VC通过DLL包连接MySQL,执行存储过程后,再执行其他查询无效?解决方法...

用VC通过DLL包连接mysql,执行存储过程后,再执行其他查询无效?

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 语句操作都没问题??

哪位用过的朋友帮忙看看,问题出在哪里,还是我用的查询有问题??????先谢谢了

------解决方案--------------------

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

加一句 mysql_free_result();试试

------解决方案--------------------

mysql_real_connect(&mysql,"localhost","root","","billingdb",0,NULL,CLIENT_MULTI_STATEMENTS);

mysql_query(&mysql,"call pr_add()"); //执行无返回存储过程过程正常

如果是同一个连接,不关闭,必须先把所有的结果集取出来,关闭释放再执行其它的操作。

详见下边的一个示例:

http://www.iihero.com/?id=12

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值