ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。 说明: 执行当前 Web 请求期间,出现未
ExecuteReader要求已打开且可用的连接。连接的当前状态为已关闭。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导...
ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。
源错误:
行 464: {
行 465: //执行数据库的存储过程(访问数据库)
行 466: dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
行 467: }
行 468: catch(SqlException e)
源文件: e:\紫魂╄\毕业设计\驾校交规考试系统\基于.NET的驾校理论考试模拟系统\DriverSystem\App_Code\Include\UserDB.cs 行: 466
堆栈跟踪:
[InvalidOperationException: ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。]
System.Data.SqlClient.SqlConnection.GetOpenConnection(String method) +96
System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command) +32
System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async) +109
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +123
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +45
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +162
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) +87
DriverSystem.Include.RoleDB.GetRoles() in e:\紫魂╄\毕业设计\驾校交规考试系统\基于.NET的驾校理论考试模拟系统\DriverSystem\App_Code\Include\UserDB.cs:466
DriverSystem._Default.BindRoleData() in e:\紫魂╄\毕业设计\驾校交规考试系统\基于.NET的驾校理论考试模拟系统\DriverSystem\Default.aspx.cs:53
DriverSystem._Default.Page_Load(Object sender, EventArgs e) in e:\紫魂╄\毕业设计\驾校交规考试系统\基于.NET的驾校理论考试模拟系统\DriverSystem\Default.aspx.cs:26
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +31
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +68
System.Web.UI.Control.OnLoad(EventArgs e) +88
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3036 展开
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。
源错误:
行 464: {
行 465: //执行数据库的存储过程(访问数据库)
行 466: dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
行 467: }
行 468: catch(SqlException e)
源文件: e:\紫魂╄\毕业设计\驾校交规考试系统\基于.NET的驾校理论考试模拟系统\DriverSystem\App_Code\Include\UserDB.cs 行: 466
堆栈跟踪:
[InvalidOperationException: ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。]
System.Data.SqlClient.SqlConnection.GetOpenConnection(String method) +96
System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command) +32
System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async) +109
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +123
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +45
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +162
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) +87
DriverSystem.Include.RoleDB.GetRoles() in e:\紫魂╄\毕业设计\驾校交规考试系统\基于.NET的驾校理论考试模拟系统\DriverSystem\App_Code\Include\UserDB.cs:466
DriverSystem._Default.BindRoleData() in e:\紫魂╄\毕业设计\驾校交规考试系统\基于.NET的驾校理论考试模拟系统\DriverSystem\Default.aspx.cs:53
DriverSystem._Default.Page_Load(Object sender, EventArgs e) in e:\紫魂╄\毕业设计\驾校交规考试系统\基于.NET的驾校理论考试模拟系统\DriverSystem\Default.aspx.cs:26
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +31
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +68
System.Web.UI.Control.OnLoad(EventArgs e) +88
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3036 展开
3个回答
展开全部
要执行ExecuteReader之前要先打开连接,在读取完br之后再关闭连接
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的数据库连接已经关闭了,只有打开就可以了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也遇到过这样的问题,如果你确定你的代码是正确的话。那你将.open(){就是打开数据的语句}放到你建立sqlcommand对象的上面或者是下面试一下。如果这都不能解决的话,那十分抱歉,我也不知道了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询