我有一个表,我想删除具有特定卡序列号的所有行。同一卡序列有多行。所以我写了这段代码,但似乎不起作用:
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)
阅读更多