SqlDataReader sdr = cmd.ExecuteReader( CommandBehavior.CloseConnection );            ddl_MillStatus.DataSource = sdr;
            ddl_MillStatus.DataValueField = "statusId";
            ddl_MillStatus.DataTextField = "statusName";
            ddl_MillStatus.DataBind();            sdr.NextResult();
            ddl_Region.DataSource = sdr;
            ddl_Region.DataValueField = "regionId";
            ddl_Region.DataTextField = "regionName";
            ddl_Region.DataBind();            sdr.Close();如果去掉CommandBehavior.CloseConnection可以正常绑定.如果只是循环取数据的话CommandBehavior.CloseConnection是没有影响的.
            while (sdr.HasRows)
            {
                Response.Write(string.Format("\t{0}\t{1}", sdr.GetName(0), sdr.GetName(1)));
                while (sdr.Read())
                {
                    Response.Write(string.Format("\t{0}\t{1}", sdr.GetInt32(0), sdr.GetString(1)));
                }
                sdr.NextResult();
            }
有人遇到过吗?是不是DataBind()的原因?

解决方案 »

  1.   

    我没说清楚,误会了,没有整到一起,这是我测试的两种情况 = =1,绑定数据时出现了问题,加了CommandBehavior.CloseConnection绑定第二个控件的时候就出现异常了.
    2,只读取,不绑定数据的话加不加CommandBehavior.CloseConnection都是正常的.
      

  2.   

    继续顶上去,是不是DataBind()之后DataReader被关闭了啊... = =
    刚试了下循环取出第一个结果集的数据正常的,第二个结果集绑定到控件上是正常的.
    但是绑定第一个结果集的话,第二个结果集的数据就取不出来了... = =