MySql执行多条语句

http://www.cppblog.com/fwxjj/archive/2010/08/05/122258.html
说是在连接上设置: 

  1. //链接时设定  
  2. mysql_real_connect( ..., CLIENT_MULTI_STATEMENTS );  
  3. //或者  
  4. //中途指定  
  5. mysql_set_server_option( mysql, MYSQL_OPTION_MULTI_STATEMENTS_ON ); //mysql是连接的名称  

但是C#的驱动,没有找到设置的地方。

搜遍源码也没有。

在 http://www.connectionstrings.com/mysql/ 查到可以在连接字符串中指定:AllowBatch,默认为True。

Server=127.0.0.1;Database=MyMvcApp;Uid=root;Pwd=root;Pooling=True;MinimumPoolSize=10;maximumpoolsize=500;ConnectionLifeTime=300;ProcedureCacheSize=0;default command timeout=20;Connection Timeout=5;CharSet=utf8;AllowBatch=True;

待测。

终极方案

由于匿名块很方便,我们可以临时创建存储过程,并执行,完成后删除存储过程。此时,应该保证,执行这个存储过程的时候,只能有一个运行线程。

DELIMITER //
CREATE  PROCEDURE `Virtual_Proc_For_Me`()
begin
    select * from P_LoginUser ;
end//
DELIMITER ;

call Virtual_Proc_For_Me ;

drop procedure Virtual_Proc_For_Me ;
原文地址:https://www.cnblogs.com/newsea/p/4714481.html