码迷,mamicode.com
首页 > 其他好文 > 详细

已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。

时间:2014-11-29 21:37:32      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:io   ar   sp   for   on   数据   bs   cti   ad   

多次用到SqlDataReader 要先关闭,再执行ExecuteNonQuery操作

 每用一次需要先进行关闭,再执行新的一次,要不然就会报错“已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。”

那么如何解决呢?

方法有两种
1,在ConnectionString加上MultipleActiveResultSets=true,但只适用于SQL 2005以后的版本
2.选择读出SqlDataReader 中的数据给List或者arraylist之类的,之后进行关闭返回
foreach(Employee emp in context.Employees.ToList())
{
    emp .Customer .
}

已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。

标签:io   ar   sp   for   on   数据   bs   cti   ad   

原文地址:http://www.cnblogs.com/spring_wang/p/4131874.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!