我試圖用C#和MySQL數據庫進行通訊錄。我正在嘗試使用標籤並將Label
的Text
設置爲數據庫信息。我爲我的標籤使用了FlowLayoutPanel
。我只能獲取1人的信息,我希望數據庫中的所有人都能在輸出中列出。我究竟做錯了什麼?通過MySQL表遍歷
MySqlCommand cmd = cnn.CreateCommand();
cmd.CommandText = "SELECT first_name, last_name, street, city, state, zip, phone, email From address_book ORDER BY last_name, first_name";
try
{
cnn.Open();
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
lblFirstName.Text = reader.GetString("first_name") + " " + reader.GetString("last_name");
lblStreet.Text = reader.GetString("street");
lblCityStateZip.Text = reader.GetString("city") + ", " + reader.GetString("state") + " " + reader.GetString("zip");
lblPhone.Text = reader.GetString("phone");
lblEmail.Text = reader.GetString("email");
}
cnn.Close();
}
您只有一組UI元素,並且您正在重複寫入該組。無論您使用的是哪種UI技術,您都需要某種類型的中繼器或列表或網格UI組件,它可顯示*多個*記錄。您只能使用一個標籤不能顯示多個記錄。 – David
是@David是正確的,您需要一些中繼器或網格來顯示基於您的查詢中的行數。 –
您可能有一個FlowLayoutPanel,但像'lblFirstName'這樣的控件不知道它們在什麼容器中。 –