@White_Bambie

Как заполнить TextBox из базы данных с помощью listbox?

На форме присутствуют компоненты TextBox (несколько), ListBox. Данные загружаются в ListBox из удаленной БД, построенной с помощью PHPMyAdmin.
MySqlConnection con = new MySqlConnection(AppSetting.ConnectonString()); // Подключился к базе
con.Open();
MySqlCommand cmd;
cmd = con.CreateCommand();
cmd.CommandText = "SELECT * FROM patients";
MySqlDataReader sdr = cmd.ExecuteReader();
DataTable dtRecords = new DataTable();
 dtRecords.Load(sdr);
//Заполнил ListBox
MyListBox.DataSource = new BindingSource(dtRecords, null);
MyListBox.DisplayMember = "LastName";
MyListBox.ValueMember = "id";

Когда пользователь выбирает item в listbox и щелкает по нему, то должны заполняться textbox из БД. Думаю по id это можно сделать, но не пойму как.
Например: Выбирает "Иванов". В textbox_LastName загружается LastName из поля таблицы, textbox_FirstName = FirstName и т.д.
До нажатия:
5ee4c5c719111666786258.jpeg

После нажатия:
5ee4c5eaf1f98606425308.jpeg
  • Вопрос задан
  • 1605 просмотров
Решения вопроса 1
@White_Bambie Автор вопроса
cmd.CommandText = "SELECT * FROM patients WHERE LastName='"+ MyListBox.Text +"';";
            try
            {
                con.Open();
                MySqlDataReader sdr = cmd.ExecuteReader();

                // Загружаем данные
                while (sdr.Read())
                {
                    string sLastName = sdr.GetString("LastName");
                    txt_LastName.Text = sLastName;
                }

                // Закрываем соединение
                con.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Ошибка");
            }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы