求高手看看这个问题怎么解决
“/Digital_Simurod_Test(10.24)”应用程序中的服务器错误。
--------------------------------------------
ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidOperationException: ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。
源错误:
行 77: {
行 78: OleDbCommand cmd = new OleDbCommand(sqlstr, con);
行 79: dr = cmd.ExecuteReader();
行 80: }
行 81: catch (
System.Data.OleDb.OleDbException ee)
源文件: g:\系统仿真\Digital_Simurod_Test(10.24)\App_Code\DBOperation.cs 行: 79
堆栈跟踪:
[InvalidOperationException: ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。]
System.Data.OleDb.OleDbConnection.CheckStateOpen(String method) +38
System.Data.OleDb.OleDbCommand.ValidateConnection(String method) +21
System.Data.OleDb.OleDbCommand.ValidateConnectionAndTransaction(String method) +18
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +56
System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) +97
System.Data.OleDb.OleDbCommand.ExecuteReader() +6
DBOperation.DBOperation.GetDataReader(String sqlstr) in g:\系统仿真\Digital_Simurod_Test(10.24)\App_Code\DBOperation.cs:79
login.Login1_Authenticate(Object sender, AuthenticateEventArgs e) in g:\系统仿真\Digital_Simurod_Test(10.24)\login.aspx.cs:62
System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +78
System.Web.UI.WebControls.Login.AttemptLogin() +116
System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +84
System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +89
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +158
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2842
代码绝对没有问题,因为这些代码在以前那个机子上运行很正常,但以前那个机子是xp系统的,现在是win7,所以希望那位大神帮忙看下,这个该怎么办
------解决方案--------------------不要返回一个需要显示关闭的对象集合,你可以将dr 的信息读取List<object>中,并返回
------解决方案--------------------数据库连接有没有open???
------解决方案--------------------先打开数据库连接啊。
------解决方案--------------------
错误已经很明显了,就是你在reader关闭后,又调用了reader来读取数据,这种做法本来就是不可取的
首先你要保证你网站所有打开的reader都要关闭掉,而不仅仅是这里