错误提示:
------------------------------------------------------------------------------
------------------------------------------------------------------------------
阅读器关闭时 Read 的尝试无效。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 阅读器关闭时 Read 的尝试无效。源错误: 
行 188:
行 189: SqlDataReader tmpReader = RunProcedure("sp_Accounts_GetEffectivePermissionList", parameters);
行 190: while (tmpReader.Read())
行 191: {
行 192: permissions.Add( tmpReader.GetInt32(0) );
 源文件: c:\eduresweb\accoutdata\user.cs    行: 190 堆栈跟踪: 
[InvalidOperationException: 阅读器关闭时 Read 的尝试无效。]
   System.Data.SqlClient.SqlDataReader.Read() +393
   EduRes.WebModules.Accounts.Data.User.GetEffectivePermissionList(Int32 userID) in c:\eduresweb\accoutdata\user.cs:190
   EduRes.WebModules.Accounts.Business.EduResWebPrincipal..ctor(Int32 userID) in c:\eduresweb\accountbusiness\edureswebprincipal.cs:68
   EduRes.WebModules.Accounts.Business.EduResWebPrincipal.ValidateLogin(String userName, String password) in c:\eduresweb\accountbusiness\edureswebprincipal.cs:93
   EduRes.EduResWeb.WebModules.Accounts.Web.login.Submit_Click(Object sender, EventArgs e) in c:\eduresweb\modules\accounts\login.aspx.cs:75
   System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +108
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +138
   System.Web.UI.Page.ProcessRequestMain() +1277 

解决方案 »

  1.   

    SqlDataReader tmpReader = RunProcedure("sp_Accounts_GetEffectivePermissionList", parameters);
    RunProcedure里已经把连接关闭了
      

  2.   

    怎么会关闭呢?
    我是按照MSDN中的实例改的!!!
    while (tmpReader.Read())
    {
         permissions.Add( tmpReader.GetInt32(0) );
    }
      

  3.   

    返回的结果集是不是为空啊,单步调试的时候在tmpReader.Read()之前先看看tmpReader是不是为null吧
      

  4.   

    你这个问题肯定是tmpReader.Read()之前tmpReader为空了
      

  5.   

    还是不行!!
    =======================
    -_-! “还是不行!!”具体怎么不行啊,tmpReader是不是null啊?