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()的原因?
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()的原因?
2,只读取,不绑定数据的话加不加CommandBehavior.CloseConnection都是正常的.
刚试了下循环取出第一个结果集的数据正常的,第二个结果集绑定到控件上是正常的.
但是绑定第一个结果集的话,第二个结果集的数据就取不出来了... = =