テーブルがあり、特定のカードシリアルを持つすべての行を削除したい。同じカードシリアルの行が複数あるので、このコードを書きましたが、機能していないようです。
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
。
また、代わりに常にパラメータ化されたクエリを使用してください。この種の文字列連結は、SQLインジェクション攻撃に対して開かれています。
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)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加