我有一个表,我想删除具有特定卡序列号的所有行。同一卡序列有多行。所以我写了这段代码,但似乎不起作用:

try
{
using (SqlConnection con = new SqlConnection(WF_AbsPres.Properties.Settings.Default.DbConnectionString))
{
   con.Open();
   SqlCommand command2 = new SqlCommand("DELETE  FORM DevInOut where Cardserial='" + textBox5.Text + "'", con);
   command2.ExecuteNonQuery();
   con.Close();
}
}
   catch (SqlException ex)
{
}


如何确保所有行都将被删除。我应该使用程序吗?如何使用程序?

最佳答案

将您的FORM更改为FROM

并且请始终使用parameterized queries代替。此类字符串连接可用于SQL Injection攻击。

using (SqlConnection con = new SqlConnection(WF_AbsPres.Properties.Settings.Default.DbConnectionString))
{
   con.Open();
   SqlCommand command2 = new SqlCommand("DELETE FROM DevInOut where Cardserial=@Cardserial", con);
   commdand2.Parameters.AddWithValue("@Cardserial", textBox5.Text);
   command2.ExecuteNonQuery();
   con.Close();
}


DELETE (Transact-SQL)阅读更多

08-16 02:33