Ваш код выглядит правильно, но есть несколько моментов, которые следует учитывать:
Убедитесь, что соединение с базой данных sqlCnct у вас корректно открыто перед выполнением запроса.
Проверьте, есть ли данные в столбце названиеОтдела таблицы Отделы. Возможно, он пустой, и поэтому ComboBox остается пустым.
Убедитесь, что Deportaments — это ваш ComboBox, и он связан с этим кодом.
Попробуйте добавить небольшую задержку между очисткой ComboBox и добавлением новых элементов, чтобы дать время для загрузки данных.
Вот небольшое изменение вашего кода с добавлением задержки:
using System.Threading.Tasks; // Добавьте это в начало файла, чтобы использовать задержку
private async void FillComboBox()
{
try
{
// Запрос для выборки
string sqlCommand = "SELECT названиеОтдела FROM Отделы";
// Создание команды для выполнения запроса
SqlCommand command = new SqlCommand(sqlCommand, sqlCnct);
// Выполнение запроса и получение результата
SqlDataReader reader = command.ExecuteReader();
// Очистка ComboBox перед добавлением новых значений
Deportaments.Items.Clear();
// Задержка на 100 миллисекунд для обеспечения времени на очистку
await Task.Delay(100);
// Добавление значений в ComboBox
while (reader.Read())
{
Deportaments.Items.Add(reader["названиеОтдела"].ToString());
}
// Закрытие ридера
reader.Close();
}
catch (Exception ex)
{
// Обработка исключений, если не удалось выполнить запрос
MessageBox.Show("Ошибка при заполнении ComboBox: " + ex.Message);
}
}
Если после этого ComboBox все равно остается пустым, проверьте указанные выше моменты, чтобы выяснить, в чем проблема.