公司开发的一个成熟的系统,从lonin.aspx输入密码和用户名后进入系统,今天输入同样的用户名和密码后,出现ExecuteReader 需要打开的并且可用的连接。该连接的当前状态是 Closed。 
的报错信息,是怎么回事啊???在线等!!!!!!!!!

解决方案 »

  1.   

    连接语句的问题
    加个判断看看
    if(connection.State == ConnectionState.Closed)
    connection.Open();
      

  2.   

    ExecuteReader 需要打开的并且可用的连接。该连接的当前状态是 Closed。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: ExecuteReader 需要打开的并且可用的连接。该连接的当前状态是 Closed。源错误: 
    行 212: //cmd.CommandText = query;
    行 213: IDbCommand cmd = CreateCommand(query);
    行 214: result = cmd.ExecuteReader(behavior);
    行 215:
    行 216: if (behavior == CommandBehavior.CloseConnection)
     源文件: E:\szzjzz20\DataAccess\DAL\DALEngine.cs    行: 214 堆栈跟踪: 
    [InvalidOperationException: ExecuteReader 需要打开的并且可用的连接。该连接的当前状态是 Closed。]
       System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean executing) +279
       System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) +80
       System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior) +45
       System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +5
       DataAccess.DALEngine.ExecQuery_DataReader(String query, CommandBehavior behavior) in E:\szzjzz20\DataAccess\DAL\DALEngine.cs:214[DALException: Error in DALEngine::ExecQuery_DataReader, in query 'SELECT UserID, Password, UserName, GH, XZZW, KZ, BMMC, BMBH FROM View_Login  WHERE UserID = '001'']
       DataAccess.DALEngine.ExecQuery_DataReader(String query, CommandBehavior behavior) in E:\szzjzz20\DataAccess\DAL\DALEngine.cs:228
       DataAccess.DALEngine.ExecQuery_DataReader(String query) in E:\szzjzz20\DataAccess\DAL\DALEngine.cs:235
       DataAccess.DALEngine.RetrieveObject_Index(Object keyValue, Type objType) in E:\szzjzz20\DataAccess\DAL\DALEngine.cs:1247
       LogicalRules.OperateDataAccess.ReadData(Object keyValue, Type oType) in E:\szzjzz20\LogicalRules\Operate\OperateDataAccess.cs:468
       WebUI.BaseClass.ReadData(Object keyValue, Int32 DataNumber, Type oType) in c:\inetpub\wwwroot\WebUI\BaseClass.cs:377
       WebUI.Login.ImageButton1_Click(Object sender, ImageClickEventArgs e) in c:\inetpub\wwwroot\WebUI\Login.aspx.cs:139
       System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +109
       System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +69
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
       System.Web.UI.Page.ProcessRequestMain() +1277 
      

  3.   

    IDbCommand cmd = CreateCommand(query);
    + cmd.Connection.Open();
    result = cmd.ExecuteReader(behavior);