使用2个独立的数据加载器加载2个下拉列表

时间:2014-09-17 14:19:41

标签: c# asp.net drop-down-menu sqldatareader

这可能是一个非常基本的问题。不管怎么说。我正在尝试使用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>

1 个答案:

答案 0 :(得分:1)

因为两个读者都与相同的连接相关联,所以在进入第二个之前必须先处理/关闭第一个,尝试:

...
SqlDataReader rdrSql = sqlCmd.ExecuteReader();
rdrSql.Close();
SqlDataReader rdrSql2 = sqlCmd2.ExecuteReader();