Как установить источник данных MySQL для поля со списком (C #)

#c# #mysql #combobox

#c# #mysql #поле со списком

Вопрос:

Я новичок в C #, и у меня возникли серьезные проблемы с настройкой источника данных поля со списком. Я хочу, чтобы произошло следующее: Я хочу, чтобы поле со списком на моем форуме C # Windows было заполнено именами строк только в одном столбце таблицы в моей базе данных MySQL.

Таблица MySQL имеет следующий формат:

 river_id, river_name, ....... (other columns) 
_____________________________________________
1           river1
2           river2         
3           river3
4           river4
5           river5
6           river6
 

Я хочу, чтобы поле со списком было заполнено именем каждой реки.
Вот моя попытка:

  string query = "SELECT * FROM sources";
       MySqlDataAdapter riverSourcesAdapter = new MySqlDataAdapter(query,connectionString);
       DataSet riverDataSet = new DataSet();
       riverSourcesAdapter.Fill(riverDataSet);

       comboBox1.Text = riverDataSet.Tables[0].Rows[0][0].ToString();
 

Я также попытался вместо этого установить в поле со списком datasource и datamember в конструкторе, но этот подход, похоже, тоже не сработал.

Ответ №1:

Попробуйте это:

 comboBox1.DataSource = riverDataSet.Tables[0];
comboBox1.DisplayMember = "<column name>";
comboBox1.ValueMember = "<column name>";
 

Комментарии:

1. Ну, это было просто….. Это работает отлично, спасибо! Не могли бы вы объяснить необходимость символов ‘<>’, пожалуйста?

2. это просто заполнитель для реального имени столбца 🙂

Ответ №2:

ваш код должен быть таким..

 comboBox1.DataSource = riverDataSet;
comboBox1.DisplayMember = "river_name";
comboBox1.ValueMember = "river_id";
comboBox1.SelectedIndex = -1;
comboBox1.AutoCompleteMode = AutoCompleteMode.Append;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;