把SqlDataReader用完关掉呀。
SqlDataReader.Close();

解决方案 »

  1.   

    SqlDataReader.Close();
    有空多看看CSDN的帮助,哪个很好的,
      

  2.   

    我知道SqlDataReader.Close();
    但是我不知道在什么地方加SqlDataReader.Close();
      

  3.   

    SqlDataReader用完后
    在try块中加就行了
      

  4.   

    在函数中catch里,
    if (objReader != null)
     objReader.Close();在函数外某个reader.reader.Close();
      

  5.   

    在try中不能加,因为return后就不执行,在catch里加也不行,因为当执行catch里的代码时,此次点击没做出反应,有没有高手啊???就在我原程序中改
      

  6.   

    try
      {
    objReader = objCommand.ExecuteReader();
             return objReader;
      }
      catch(System.Exception exp)
      {
    throw new Exception(exp.Message);
      }
      finally     //在这里不管有没有异常,都会执行,参见 msdn
      {
       SqlDataReader.Close();
      }
      

  7.   

    楼上的解决有问题。楼主是要把objReader传出去用的,不能直接调用Close(),而要在用完后关掉。
    大致应该是:
    SqlDataReader myReader = GetMyDataReader(……);
    ……用myReader操作数据……
    myReader.Close();
      

  8.   

    确实要:SqlDataReader.Close();
    当然不是在try{}中,因为你要return objReader。就要在用完了sqlDataReader 后调用。
      

  9.   

    public static SqlDataReader GetMyDataReader(string strSQL)
    {
      SqlCommand objCommand = new SqlCommand(strSQL,objConnection);
      SqlDataReader objReader;
      try
      {
             if(ojbReader.IsClosed==false)  //加这里
                  objReader.Close();
    objReader = objCommand.ExecuteReader();
             return objReader;
      }
      catch(System.Exception exp)
      {
    throw new Exception(exp.Message);
      }

    }