1.    通过sql获取cmd
   public static SqlCommand GetCmd(string sql)
    { 
        SqlConnection Conn=GetConn();
        SqlCommand Cmd = new SqlCommand(sql, Conn);
        return Cmd;
    }   通过sql获取dr
  public static SqlDataReader GetDr(string sql)
    {
        SqlCommand Cmd = GetCmd(sql);
        SqlDataReader dr = Cmd.ExecuteReader();
        return dr;
    }我在引用的时候
SqlDataReader Dr = DataBase.GetDr("select top 1 Logintimes,Logintime from Admin ");
然后输出dr dr[...]
此时我关闭dr.close
但是conn还没有关闭,这个conn在哪关闭?难道非要把conn做为getDr()的一个参数才可以吗?
问题1:类似我这样的代码如何关闭conn?
问题2:一般关闭conn在哪?在GetCmd()之后?在GetDr()之后?还是创建了示例,取值操作完毕之后?
问题3:一般关闭dr在哪?在GetCmd()之后?在GetDr()之后?还是创建了示例,取值操作完毕之后?
问题4:获得了dr后,非要dr.read()吗?如果仅读取了一条数据也要dr.read()吗?