这可能是一个非常基本的问题。不管怎么说。我正在尝试使用2个数据读取器来加载2个下拉列表'lstState'和'lstCity'。
string connectionstring = WebConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString;
SqlConnection SqlConn = new SqlConnection(connectionstring);
SqlCommand sqlCmd = new SqlCommand("SELECT * FROM STATES",SqlConn);
sqlCmd.CommandType = CommandType.Text;
try
{
SqlConn.Open();
SqlDataReader rdrSql = sqlCmd.ExecuteReader();
lstState.DataSource = rdrSql;
lstState.DataTextField = "STATE";
lstState.DataValueField = "";
if (!IsPostBack)
{
lstState.DataBind();
}
rdrSql.Close();
}
目前,下拉列表'lstState'正在加载正常。但是,如果我删除与'lstCity'相关的评论,那么'lstState'和'lstCity'都没有被加载。有人指出我正确的方向。< / p>
答案 0 :(得分:1)
因为两个读者都与相同的连接相关联,所以在进入第二个之前必须先处理/关闭第一个,尝试:
...
SqlDataReader rdrSql = sqlCmd.ExecuteReader();
rdrSql.Close();
SqlDataReader rdrSql2 = sqlCmd2.ExecuteReader();