····
        con.Open();
        SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//自动关闭Datareader 
        if (dr.Read())
        {
            return dr; 设断点看运行到这里直接就返回了
        }
        else
        {
            return null;
        }
        dr.Close();
        con.Close();这个关闭连接的命令好像没有执行请问大家这样写的话,到底能否关闭数据库连接呢????

解决方案 »

  1.   

    既然你已经设置了CommandBehavior参数为CloseConnection...后面的con.Close();就是多余的...
      

  2.   

    都已经return了,肯定就不会执行后2句了..已经关闭了
      

  3.   

    不能
    可以把con.Close();放在finally里面,这样总可以执行      
      

  4.   

    CommandBehavior.CloseConnection就是在你读完数据后自动关闭连接 
    con.Close();是多余的