Не работают запросы в C# с подключенной БД ACCESS
Формулировка задачи:
OleDbConnection con1 = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=db_elements_filled.accdb");
string com1 = String.Format("SELECT element_dimension_type FROM Element_dimension_type WHERE fk_element_type=0 ;");
OleDbCommand cmd1 = new OleDbCommand(com1);
DataTable tbl1 = new DataTable();
OleDbDataAdapter da1 = new OleDbDataAdapter(cmd1);
con1.Open();
da1.Fill(tbl1); // ошибка Fill: Свойство SelectCommand.Connection не инициализировано.
elementdimensiontypeBindingSource.DataSource = tbl1;
this.Element_dimension_type_dropdown_1.DataSource = tbl1;
this.Element_dimension_type_dropdown_1.DisplayMember = "element_dimension_type";
this.Element_dimension_type_dropdown_1.ValueMember = "id_element_dimension_type";
this.Element_dimension_type_dropdown_1.SelectedIndex = -1;
con1.Close();Решение задачи: «Не работают запросы в C# с подключенной БД ACCESS»
textual
Листинг программы
private void Element_dimension_type_dropdown_1_SelectedIndexChanged_1(object sender, EventArgs e)
{
string dd2 = (Element_dimension_type_dropdown_1.ValueMember).ToString();
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=db_elements_filled.accdb");
con.Open();
// string com2 = string.Format("SELECT rate, weight FROM information WHERE fk_element_dimension_type = " + dd2 + "");
// OleDbCommand cmd2 = new OleDbCommand(com2, con);
// DataTable tbl2 = new DataTable();
// OleDbDataAdapter da2 = new OleDbDataAdapter(cmd2);
OleDbCommand c1 = con.CreateCommand();
c1.CommandText = "SELECT rate, weight FROM information WHERE fk_element_dimension_type = " + dd2 + "";
OleDbDataReader r1 = c1.ExecuteReader();
string s1 = string.Empty;
string s2 = string.Empty;
while (r1.Read())
{
s1 += r1["rate"];
s2 += r1["weight"];
}
r1.Close();
con.Close();
// con.Open();
// da2.Fill(tbl2);
Rate_1.Text = s1;
Weight_for_piece_1.Text = s2;
//con.Close();
}