Я пытаюсь создать адресную книгу с C# и базой данных MySQL. Я пытаюсь использовать метки и установить Text
из Label
с информацией о базе данных. Я использую 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();
}
У вас есть только один набор элементов интерфейса, и вы повторно пишете только один набор. Независимо от того, какую технологию пользовательского интерфейса вы используете, вам понадобится какой-то компонент ретранслятора или списка или сетки, который отображает * несколько * записей. Вы не можете отображать несколько записей только с одной меткой. – David
yes @David правильно, вам нужен какой-либо ретранслятор или сетка для отображения на основе возвращаемых чисел строк из вашего запроса. –
У вас может быть FlowLayoutPanel, но элементы управления, такие как 'lblFirstName', ничего не знают о том, в каком контейнере они находятся. –