Как уже сказал Хенк - вам нужно больше заботиться о ваших связях, о том, как вы открываете и закрываете их. Кроме того: если вы используете SqlDataAdapter
, вам не нужно вручную открывать соединение и закрывать его снова - адаптер данных сделает это автоматически за вас.
А также: в первом примере вам нужна только одна таблица данных, но вы создаете набор данных, а затем извлекаете из него таблицу - это абсолютно ненужные накладные расходы.
Попробуйте что-то вроде этого:
private void VraboteniPoOpstini_Load(object sender, EventArgs e)
{
try
{
// add a "using System.Data.SqlClient" to your file, to make this simpler
ad = new SqlDataAdapter("Select * from tbl_PersonalniPodatoci ", con);
DataTable dt = new DataTable();
ad.Fill(dt);
//fill combobox
cbOpstini.DataSource = dt;
cbOpstini.DisplayMember = "Opstina";
cbOpstini.ValueMember = "Sifra";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "ГРЕШКА", MessageBoxButtons.OK);
}
}
Вы можете сделать аналогичный подход (используйте DataTable
сразу, не нужно открывать и закрывать SqlConnection при использовании SqlDataAdapter и т. Д.) Для второго запроса.