不好意思,打错子了:
namespace   idealconn 
换成
namespace ClassLibrary1

解决方案 »

  1.   


    namespace   idealconn 

            class   Class2 
            { 
    public   SqlDataReader   sqlred(string   sqlstr) 
                    { 
                            
                            SqlConnection   myconn   =   new   SqlConnection(ConfigurationSettings.AppSettings["jsconnstring"]); 
              
                            myconn.Open(); 
                      
                            SqlCommand   mycomm   =   new   SqlCommand(sqlstr,   myconn); 
                            SqlDataReader   dr   =   null; 
                            SqlTransaction   mytran   =   myconn.BeginTransaction();                         try 
                            {                                 mycomm.Transaction   =   mytran; 
                                    dr.open();                                dr   =   mycomm.ExecuteReader(CommandBehavior.CloseConnection); 
                                    mytran.Commit(); 
                            } 
                            catch   (SqlException   ex) 
                            { 
                                    mytran.Rollback(); 
                                    throw   new   Exception(ex.Message,   ex);                         } 
    dr.close();                        return   dr;                 } 

      

  2.   

    某处使用了DataReader但是没有关闭 关闭就好了啊。
      

  3.   

    晕..错了.重新来
    mycomm.Transaction   =   mytran;这个前面加上
    dr.read();
    return   dr; 前面加上
    dr.close();
      

  4.   

    又是dataReader用了不关的问题。
    问题出在别的代码,看看有没有Reader没关闭的。
      

  5.   

     using   ClassLibrary1; 
      Class2   user   =   new   Class2(); 
                    SqlDataReader   tt   =   user.sqlred("select   *   from   js_newlb"); //这里                while   (tt.Read()) 
                    { 
                            Response.Write(tt["id"].ToString()); 
                    
                    } 
                    tt.Close(); 
    类库中代码:ClassLibrary1 
    namespace   idealconn 

            class   Class2 
            { 
    public   SqlDataReader   sqlred(string   sqlstr) 
                    { 
                            
                            SqlConnection   myconn   =   new   SqlConnection(ConfigurationSettings.AppSettings["jsconnstring"]); 
              
                            myconn.Open(); 
                      
                            SqlCommand   mycomm   =   new   SqlCommand(sqlstr,   myconn); 
                            SqlDataReader   dr   =   null;  //这里
                            SqlTransaction   mytran   =   myconn.BeginTransaction();                         try 
                            {                                 mycomm.Transaction   =   mytran; 
                                    dr   =   mycomm.ExecuteReader(CommandBehavior.CloseConnection); 
                                    mytran.Commit(); 
                            } 
                            catch   (SqlException   ex) 
                            { 
                                    mytran.Rollback(); 
                                    throw   new   Exception(ex.Message,   ex);                         } 
                            return   dr;                 } 


    应该是着2个地方的问题!
          打开没有关闭
       有打开所以他提示已经打开。。
         
      

  6.   

         类库里 加上 finally
    {myconn.Close();}
      

  7.   

    DataReader.close();不能用SqlDataAdapter吗