0

我有 2 个下拉列表ddlcountryDdPetPist. ddlcountry在 MYSQL 数据库中有自己的表等剂量DdPetPist,我想ddlcounty选择更改填充的表DdPetPist。所以将表从 更改UK_AnimalsFrance_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)
    {

    }  

如果有人可以提供帮助,将不胜感激。

4

2 回答 2

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();
  }
}  
于 2013-11-23T16:26:28.783 回答
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();
}  
于 2013-11-23T16:29:35.117 回答