我有一個表在我的數據庫中有4列,是Specie
| Price
| Stock
| Country
。修改我的查詢連接C#
我有一個名爲ddlcountry
的下拉列表,該列表通過Country
列填充。
然後我有一個名爲DdPetPist
的下拉列表,該列表應該填入與通過上一個下拉列表選擇的國家相關聯的所有Specie
。
例如我選擇英國,我有一個名單狗,貓和兔子。
問題的
- 在我選擇了英國的時刻,在第二個下拉所有正金秀。
- 當我選擇國家下拉菜單時,它會不止一次地重複國家。
守則第一個下拉(選擇國家)
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
MySqlCommand cd2 = new MySqlCommand("SELECT * FROM Animals", 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();
}
}
代碼來填充第二列表中選擇縣
protected void ddlcountry_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlcountry.Text != string.Empty)
{
MySqlCommand cd = new MySqlCommand(string.Format("SELECT * FROM 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();
}
}
我想我靠近只是不知道如何適當調整我的查詢。 任何幫助,非常感謝。
'SELECT * FROM Animals',你填充你的國家,DDL?除此之外,不要重複使用'MySqlConnection',而要使用'using'語句。我很驚訝你沒有得到一個例外,因爲你正在處置它。如果您之後在其他方法中使用它,則會得到一個'ObjectDisposedException'。 –
你的意思是說我的問題? – Beep
我認爲你不應該總是從你的數據庫中一遍又一遍地獲取物種。 寧可加載一次(也在page_load中),然後根據您選擇的內容,相應地更改您的列表。 –