Как удалить выбранный элемент из списка одновременно с удалением из базы данных? - PullRequest
1 голос
/ 11 июня 2019

enter image description here

private void button5_Click(object sender, EventArgs e)
{
  cn.Open();
  SqlCommand cmd = new SqlCommand("DELETE FROM data WHERE item ='" + listBox1.SelectedItem + "'", cn);
  cmd.ExecuteNonQuery();
  cn.Close();  
}

Когда я запускаю программу и нажимаю кнопку удаления, она работает.Но при запуске, если я ввожу некоторые данные в базу данных и пытаюсь удалить их, выдает эту ошибку

1 Ответ

1 голос
/ 11 июня 2019

Поскольку ваш код не определяет проблему напрямую, мне придется сделать предположение. Я считаю, что где-то в вашем звонке предыдущее соединение не было закрыто и поэтому не может быть снова открыто.

Я настоятельно рекомендую вам заменить ваш SQL-запрос на использование операторов, чтобы обеспечить эффективное закрытие всего соединения, а также избавиться от соединения по завершении.

Если вы сделаете это без приложения, ошибки такого типа не произойдет.

using (SqlConnection cn = new SqlConnection(connectionString)) 
{    
  using (SqlCommand cmd = new SqlCommand("DELETE FROM data WHERE item ='" +  listBox1.SelectedItem + "'", cn);
  {
    cn.Open();
    cmd.ExecuteNonQuery();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...