首页 新闻 会员 周边

c#中调用存储过程的问题

0
悬赏园豆:10 [已解决问题] 解决于 2017-05-05 16:54

C#怎么在循环中调用存储过程?for循环一次执行一次存储过程,现在遇到的问题是

问题补充:

现在的问题是有没有什么办法让存储过程一到count=thiscommadn那强制执行

Like金的主页 Like金 | 初学一级 | 园豆:42
提问于:2017-05-05 16:05
< >
分享
最佳答案
0

 

每次循环前,将带的参数清空,再重新赋值就可以了

收获园豆:10
Artikel | 菜鸟二级 |园豆:387 | 2017-05-05 16:12

 我清空了,但是返回受影响行数为什么是负数啊?

Like金 | 园豆:42 (初学一级) | 2017-05-05 16:19

@Like金: 为什么你要返回的count是最后一次的执行结果,你执行下最后一次的sql,感觉你最后一次传的参数不对

Artikel | 园豆:387 (菜鸟二级) | 2017-05-05 16:27

@Artikel:   我要的不是最后一次,是执行了几次添加,返回的受影响行数要追加,我改成这样了

count = count + thisCommend.ExecuteNonQuery();  

Like金 | 园豆:42 (初学一级) | 2017-05-05 16:29

@Like金: 还有你这样循环的话,假设uid有n个,pid有m个,那count就是循环执行了n*m个后的累加结果了,你需求就是这样的?

Artikel | 园豆:387 (菜鸟二级) | 2017-05-05 16:48

@Artikel: 对 需求是这样的

Like金 | 园豆:42 (初学一级) | 2017-05-05 16:49

@Like金: 这样写的话,如果n*m的结果比较大,那就要执行很多次,对数据库压力比较大,建议能一次性执行的不要循环这么多次执行

Artikel | 园豆:387 (菜鸟二级) | 2017-05-05 16:52
其他回答(2)
0

不是写的很清楚吗?过多的参数

筱浬 | 园豆:601 (小虾三级) | 2017-05-05 16:07

 我知道过多参数,这是因为他循环了,在第二次执行的时候吧第一次循环的参数也带着呢,所以他参数过多,我现在就是想怎让他一次循环执行一次存储过程

支持(0) 反对(0) Like金 | 园豆:42 (初学一级) | 2017-05-05 16:08

@Like金: 你先执行完一次  清空参数 再循环 

支持(0) 反对(0) 筱浬 | 园豆:601 (小虾三级) | 2017-05-05 16:24

@筱浬: 是啊 我清空了 但是为啥返回的受影响行数是负数啊?

支持(0) 反对(0) Like金 | 园豆:42 (初学一级) | 2017-05-05 16:25
0

....不懂你的思路.参数过多的意思是让你第二次不要add直接改已有参数的值.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-05-05 16:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册