如何同时从数据库中删除列表框中的选定项目?

时间:2019-06-11 08:38:20

标签: c# sql-server

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 个答案:

答案 0 :(得分:1)

由于您的代码无法直接识别问题,因此我必须作一个假设。 我相信您通话中的某个位置之前的连接尚未关闭,因此无法再次打开。

我强烈建议您使用using语句替换sql请求,以确保有效关闭所有连接,并在完成后处置连接。

如果在整个应用程序中都执行此操作,则不会发生此类错误。

using (SqlConnection cn = new SqlConnection(connectionString)) 
{    
  using (SqlCommand cmd = new SqlCommand("DELETE FROM data WHERE item ='" +  listBox1.SelectedItem + "'", cn);
  {
    cn.Open();
    cmd.ExecuteNonQuery();
  }
}