我有2个下拉列表ddlcountry
和DdPetPist
。
ddlcountry
在MYSQL数据库中有自己的表,所以剂量为DdPetPist
,我希望ddlcounty
选择更改填充DdPetPist
的表。所以将表从UK_Animals
更改为France_Animals
。或者`Germany_Animals。
填充下拉列表的代码
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
MySqlCommand cd2 = new MySqlCommand("SELECT * FROM Country", cs); // need to make it so changes database
cs.Open();
MySqlDataReader ddlCountry = cd2.ExecuteReader();
ddlcountry.DataSource = ddlCountry;
ddlcountry.DataValueField = "Country";
ddlcountry.DataTextField = "Country";
ddlcountry.DataBind();
cs.Close();
cs.Dispose();
MySqlCommand cd = new MySqlCommand("SELECT * FROM UK_Animals", cs);
cs.Open();
MySqlDataReader ddlSpecie = cd.ExecuteReader();
DdPetPist.DataSource = ddlSpecie;
DdPetPist.DataValueField = "Specie";
DdPetPist.DataTextField = "Specie";
DdPetPist.DataBind();
cs.Close();
cs.Dispose();
}
选择更改ddlcountry
protected void ddlcountry_SelectedIndexChanged(object sender, EventArgs e)
{
}
如果有人能提供帮助,接力会欣赏它。
答案 0 :(得分:2)
希望我理解正确:
protected void ddlcountry_SelectedIndexChanged(object sender, EventArgs e)
{
if(ddlcountry.Text!=string.Empty)
{
MySqlCommand cd = new MySqlCommand(string.Format("SELECT * FROM {0}_Animals",ddlcountry.Text), cs);
cs.Open();
MySqlDataReader ddlSpecie = cd.ExecuteReader();
DdPetPist.DataSource = ddlSpecie;
DdPetPist.DataValueField = "Specie";
DdPetPist.DataTextField = "Specie";
DdPetPist.DataBind();
cs.Close();
cs.Dispose();
}
}
答案 1 :(得分:2)
试试这个
我假设ddlcountry包含与表名完全相同的国家名称。(即英国,法国等)和表名(UK_Animals,France_Animals)
protected void ddlcountry_SelectedIndexChanged(object sender, EventArgs e)
{
string country = ddlcountry.SelectedValue;
string query = "SELECT * FROM "+ country + "_Animals";
MySqlCommand cd = new MySqlCommand(query, cs);
cs.Open();
MySqlDataReader ddlSpecie = cd.ExecuteReader();
DdPetPist.DataSource = ddlSpecie;
DdPetPist.DataValueField = "Specie";
DdPetPist.DataTextField = "Specie";
DdPetPist.DataBind();
cs.Close();
cs.Dispose();
}