Я хочу заполнить ComboBox на форме. Я хранил процедуры, которые получают данные для моих ComboBoxes. Мой код ниже. Проблема в том, что мои сборники не заполняются. Когда я перехожу через код, он переходит к «reader = sc.ExecuteReader();» и не выполняет ни одну из последующих строк в Pop_ComboBox(). Хранимая процедура возвращает «ID» и «Описание» (только). Что я делаю не так?ComboBoxes, которые не заполняются из хранимой процедуры
private void frmInput_Load(object sender, EventArgs e)
{
//Connect to the db
this.sqlConn = new SqlConnection("Server=\"our_server";Database=\"Astra\";Trusted_Connection=yes;");
//Populate the Equipment Type Listbox
Pop_ComboBox("exec uspASTRA_GetEquipTypeList;", cboEquipType);
}
private void Pop_ComboBox(string sQuery, ComboBox NameOfcbo)
{
SqlCommand sc = new SqlCommand(sQuery, this.sqlConn);
SqlDataReader reader;
reader = sc.ExecuteReader();
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Description", typeof(string));
dt.Load(reader);
NameOfcbo.ValueMember = "ID";
NameOfcbo.DisplayMember = "Description";
NameOfcbo.DataSource = dt;
}
Вероятно, вы получаете исключение при вызове 'ExecuteReader'. Внутри Visual Studio перейдите в «Debug-> Exceptions», проверьте все и снова отлаживайте. Или поместите вызов в блок try-catch и посмотрите на исключение. –
Вы не открыли свое соединение кстати ... !! this.sqlConn.Open(); –
@ Ажар - Спасибо, что поймал это! И спасибо дарио за предложение. Теперь я вижу, что My SqlConn работает неправильно. – johncroc