C#编程 必须分次执行的mysql 语句怎么处理,求解答!

我现在在用C#操作数据库,想要执行五条mysql语句,但这些语句只能逐条运行不能同时运行,有没有简便的写法,还是只能每条执行一次mysqlcommand?SET@EE='... 我现在在用C#操作数据库,想要执行五条mysql语句,但这些语句只能逐条运行不能同时运行,有没有简便的写法,还是只能每条执行一次mysqlcommand?

SET @EE='';
SELECT @EE:=CONCAT(@EE,'SUM(IF(chargeitem=\'',chargeitem,'\'',',chargemoney,0)) AS ',chargeitem,',') FROM (SELECT DISTINCT chargeitem FROM tocharge) A;
SET @QQ=CONCAT('SELECT ifnull(OwnerId,\'total\'),OwnerName,',LEFT(@EE,LENGTH(@EE)-1),'SUM(chargemoney) AS 合计 FROM tocharge GROUP BY OwnerId WITH ROLLUP');
PREPARE stmt2 FROM @QQ;
EXECUTE stmt2;
展开
 我来答
百度网友ce7f3ccb4
2015-04-26 · TA获得超过1950个赞
知道大有可为答主
回答量:2299
采纳率:0%
帮助的人:1883万
展开全部
  可以啊,没问题
  使用存储过程来做
  或者你直接把你的sql写成语句块的形式就可以了啊
  string sql=@“ sql1 sql2 sql 3.....”很多条SQL语句组成语句块,但是里面sql语句执行要控制逻辑哈,必须是上一条语句成功了才可以执行下一条语句哦!!
  个你举个简单的例子:
  string T_SQLS=
  @"
  if exits(select * from user where user_name=@usename)
  begin
  update user set userage=@usenage where user_name=@usename
  select @@rowcount//这里你可以返回自定义操作标识
  end
  else
  begin
  insert into user values(@usename,@usenage)
  select @@rowcount
  end
  "
  SqlConnand com=new SqlConnand (T_SQLS,connection);
  com.parm........//添加参数
  com ......执行,如果你使用了select 返回操作结果,就不能使用ExcutNoneQuery()方法
更多追问追答
追问

我想把上面的语句通过C#编程来执行,怎么写呢?求帮忙!

追答
string sqls=@

SET @EE='';
SELECT @EE:=CONCAT(@EE,'SUM(IF(chargeitem=\'',chargeitem,'\'',',chargemoney,0)) AS ',chargeitem,',') FROM (SELECT DISTINCT chargeitem FROM tocharge) A;
SET @QQ=CONCAT('SELECT ifnull(OwnerId,\'total\'),OwnerName,',LEFT(@EE,LENGTH(@EE)-1),'SUM(chargemoney) AS 合计 FROM tocharge GROUP BY OwnerId WITH ROLLUP');
PREPARE stmt2 FROM @QQ;
EXECUTE stmt2;

直接在程序中执行sqls语句就可以了,把参数 @EE, @QQ等在程序里面传入参数就可以了!!
例子不是给你举出来了么?要学会举一反三啊!!注意里面的转义哈,sql语句中是不允许有双引号的的!!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式