У меня есть форма настроек, на которой лежит выпадающая скобка, которую я хотел бы заполнить при загрузке формы данными, полученными из базы данных доступа.Код не последовательный порядковый номер в источнике
Где я испытываю трудности, на самом деле задает источник данных combobox - когда программа выполняется, она перескакивает с заполнения OleDbDataAdapter для загрузки формы; пропуская код.
Вот мой последний код:
Форма нагрузки
private void frm_settings_Load(object sender, EventArgs e)
{
Divisions divs = new Divisions();
DataSet ds = new DataSet();
ds = divs.GetActiveDivisions(); //jumps from here to loading the form
this.cmbo_divisions.DataSource = ds; //this never gets invoked
}
А класс Дивизион
class Divisions
{
private string error;
public string Error //read only
{
get { return this.error; }
}
public DataSet GetActiveDivisions()
{
OleDbConnection conn = new OleDbConnection();
PinnacleConnection Pconn = new PinnacleConnection();
string sql = "SELECT ID, title FROM Divisions WHERE active = true;";
DataSet ds = new DataSet();
//connect to db
conn = Pconn.createConnection();
try
{
conn.Open();
}
catch (Exception ex)
{
//error handling here
this.error = ex.Message;
return ds;
}
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, conn);
adapter.Fill(ds); //!!jumps from here to loading the form!!
conn.Close(); //never gets invoked?
return ds; //never gets invoked?
}
}
Как вы можете видеть мои комментарии, выполнение скачет настройки источника данных на объект cmbo_divisions ... в результате получается пустое поле со списком.
Я в затруднении, любая помощь будет оценена по достоинству.
Возможно, исключение. Во-первых, вы должны включить материал «halt on exception» в отладчике, что упростит поиск таких проблем. Кроме того, вам, вероятно, понадобится try-catch вокруг * all * кода базы данных (вам также могут потребоваться некоторые операторы 'using'. – crashmstr
Я предполагаю, что вы ошибаетесь и возвращаете пустой' DataSet' из своего улова – Jonesopolis
, когда я шаг за кодом, инструкция catch не выполняется, хотя ... – wribit