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

今天进行权限修改的时候,就一直报错!

同时打开两个或循环多个sqldatareader会出现以上错误。因为用的是sqldatareader做数据库的数据读取,sqlconnection开启没有关闭。

上网查了一下,一个SqlConnection只能执行一次事务,没用一次必须关闭然后再开启。上面我只用了一次没有关闭,直接开启所以会报错。其实不用多次打开在开启,那样实现起来很麻烦。直接在连接字符串的后面加上MultipleActiveResultSets=true即可。 如有配置文件直接修改配置文件即可。

再次操作就好了。

时间: 2024-10-03 23:28:59

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

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

多次用到SqlDataReader 要先关闭,再执行ExecuteNonQuery操作 每用一次需要先进行关闭,再执行新的一次,要不然就会报错“已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭.” 那么如何解决呢? 方法有两种1,在ConnectionString加上MultipleActiveResultSets=true,但只适用于SQL 2005以后的版本2.选择读出SqlDataReader 中的数据给List或者arraylist之类的,之后进行关闭返回

code first提示已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭解决方法

使用codefirst查询当然是必不可少的,但有时不小心可能很简单的查询也会导致异常. 下面用codefirst做个示例简单演示下异常发生的场景: var attendlist = db.Database.SqlQuery<AttendCountViewModel>("select STUDENTID,SUM(isnull(REALHOUR,0)) As REALHOUR from ATTEND_LIST where ATTENDDATE='" + geDate + &qu

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

在运用Linq to sql 或者 linq to entity等相关linq技术进行数据库访问操作时,如果发生上述异常是因为是因为.NET內部是使用DataReader作数据存取,DataReader用同一个Connection. 解决办法有两个: 1,设定ConnectionString加上MultipleActiveResultSets=true,但只适用于SQL 2005以后的版本2.先读出放置在List中 例如将 var preObj = (from a in db.ArticleEA

[EF] - &quot;已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭&quot; 之解决

错误 解决 在 ConnectionString 中添加 MultipleActiveResultSets=true(适用于SQL 2005以后的版本).MultipleActiveResultSets的作用是指定多活动的结果集是否与指定的链接相互关联,类型是bool类型:true代表与指定的链接关联,false代表与指定的链接不关联,默认是false. 参考资料 http://www.cnblogs.com/hfliyi/archive/2012/04/27/2472950.html

关于windows 下每次打开IE 8都弹出欢迎使用Internet Explorer 8 弹窗的关闭方法

今天笔者在安装完windows 操作系统后,发现了一个问题,即每次打开IE 8浏览器,都会弹出一个欢迎界面: 弹窗标题为:设置windows Internet Explorer,具体内容如下图所示: 经过研究发现,最终还是找到关闭弹窗信息的方法,具体步骤如下: 1.运行:gpedit.msc进入组策略管理 2.找到,计算机配置--管理模板--Windows 组件--Internet Explorer,下的[阻止执行首次运行自定义设置] 3.右键编辑,将此项配置成 已启动,选择所需的选项处设置为:

MVC5+EF6 入门完整教程十

本篇是第一阶段的完结篇. 学完这篇后,你应该可以利用MVC进行完整项目的开发了. 本篇主要讲述多表关联数据的更新,以及如何使用原生SQL. 文章提纲 多表关联数据更新 如何使用原生SQL 总结 多表关联数据更新 我们在第四篇文章已经讲过数据的更新了,不过那个是针对单表结构的更新. 这次我们讲下使用EF进行关联数据的更新. 关联数据更新有两种情况: 1.一对多 2.多对多 第一种情况关联表有主外键关联,只要简单的更新外键值就可以了(相当于更新单表),我们主要讲解第二种多对多的情况. 使用之前很熟悉

EF DbContext 并发执行时可能出现的问题

现在许多Web项目都使用了IOC的DI注入组件.其中对象的生命周期管理是非常重要的. 有时我们为了提高请求的响应,经常在请求线程中执行多个子线程,然而忽略了EF的DbContext的生命周期管理. DbContext并非是线程安全的.子线程A和子线程B 可能同时的对同一个DbContext进行操作,从而导致下面的异常(可能随机抛出其中一个). 所以建议不要共用同一个DbContext. {"已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭."} “Sys

【推荐】初级.NET程序员,你必须知道的EF知识和经验

[本文已下咒.先顶后看,会涨工资的哦 :)] 注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的是很多性能低下的写法和生成不太高效的sql. 虽然我们可以使用SQL Server Profiler来监控执行的sql,不过个人觉得实属麻烦,每次需要打开.过滤.清除.关闭. 在这里强烈推荐一个插件MiniProfiler.实时监控页面请求对应执行的sq

EF6 CodeFirst+Repository+Ninject+MVC4+EasyUI实践(九)

前言 这一篇我们将完成系统的权限设置功能以及不同角色用户登录系统后动态加载菜单.注意:此示例权限只针对菜单级,如果园友需要更复杂的系统权限设置,可以拓展到按钮级或属性级. 用户的登录采用Form认证来实现,这样可以有效地防止非授权用户或页面链接对系统造成不安全的操作. 权限设置模块 页面采用角色列表和菜单列表勾选的方式,即选择角色后勾选可以操作的菜单,这样具有才角色的用户就具有操作这些菜单的权限.界面设置如下: 界面选择的roleID和menuID我们采用字符串的方式进行拼接.在controll