EF "There is already an open DataReader associated with this Command which must be closed first."

简介: 1.出现问题 场景1:在插入数据之前,先进行判断是否存在 执行SqlDataReader.Read之后,如果还想用另一个SqlCommand执行Insert或者Update操作的话, 会得到一个错误提示:There is already an open DataReader associated with this Command which must be closed first.   2.解决方法 在ConnectionString中加上一个参数“MultipleActiveResultSets”, 将其值设置为true。

1.出现问题

场景1:在插入数据之前,先进行判断是否存在

执行SqlDataReader.Read之后,如果还想用另一个SqlCommand执行Insert或者Update操作的话,

会得到一个错误提示:There is already an open DataReader associated with this Command which must be closed first.

 

2.解决方法

在ConnectionString中加上一个参数“MultipleActiveResultSets”, 将其值设置为true。

 

MultipleActiveResultSets可以使数据库连接复用。这样就不怕数据库的连接资源被耗尽了。使用方法很简单,只需要把它加到数据的连接字符串中即可。

例如:server=(local);Integrated Security = true;database=AdventureWorks;MultipleActiveResultSets=true;

相关文章
Tp5 SplFileObject::__construct(/tmp/phpvuOdFd): failed to open stream: No such file or director解决方法
Tp5 SplFileObject::__construct(/tmp/phpvuOdFd): failed to open stream: No such file or director解决方法
129 0
|
6月前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
62 0
|
缓存 Windows
【cmd报错:Error :could not open】
【cmd报错:Error :could not open】
239 0
执行HQL直接被退出:Remote side unexpectedly closed network connection
执行HQL直接被退出:Remote side unexpectedly closed network connection
1216 0
执行HQL直接被退出:Remote side unexpectedly closed network connection
|
SQL 存储 程序员
C#连接数据库之Connection、Command、DataReader用法总结
C#连接数据库之Connection、Command、DataReader用法总结
364 0
C#连接数据库之Connection、Command、DataReader用法总结
|
存储 SQL 数据库连接
浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable
可能是当初没有好好总结的缘故,学习.NET以来,对ADO.NET中的对象一直有些模糊,今天重新回顾了一下,通过查资料,总结,结合自己的观点整理一下ADO.NET中Connection、Command、DataReader、DataAdapter、
浅谈ADO.NET中的对象——Connection、Command、DataReader、DataAdapter、DataSet、DataTable
|
关系型数据库 MySQL 数据库
【mysql错误 Mac】ERR_WHEN_INSERT_TO_DB\nError:Connection lost: The server closed the connection.
ERR_WHEN_INSERT_TO_DB\nError:Connection lost: The server closed the connection.这个是数据库查询报出的错误,所以我们先登录一下数据库,查询看看具体报错
197 0
|
数据库
【QT】解决QSqlQuery::exec: database not open
【QT】解决QSqlQuery::exec: database not open
1171 0
|
SQL 安全 测试技术
MS SQL 错误:The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "test" was unable to begin a distributed transact
一同事在测试服务器(系统:Windows 2008 R2 Standard 数据库:SQL SERVER 2008 R2)通过链接服务器test使用分布式事务测试时出错,出错信息如下: set xact_abort on begin tran update test.
1482 0