何よりもまず、私はプログラミングにかなり慣れていないので、細部への注意が高く評価されています。
私は現在、SQL テーブルからデータを受け取る asp チェックボックス リストを持っています。まったく同じアイテムが 2 つある場合、削除機能が両方のアイテムを削除するという問題が発生しています。そのためのコードは次のとおりです。
protected void btn_remove_Click(object sender, EventArgs e)
{
for (int i = 0; i < UPCList.Items.Count; i++)
{
if (UPCList.Items[i].Selected)
{
var item = UPCList.Items[i];
var frcID = item.Value;
_itemNumberRepository.Delete(frcID);
}
}
Response.Redirect("WebForm2.aspx");
Response.End();
}
public string Delete(string itemCode)
{
string connectionString = foobar
Int32 returnDeleted = 0;
string deleteUpcCode =
"DELETE FROM compare1 "
+ string.Format("WHERE itemcode = '{0}'",itemCode);
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(deleteUpcCode, connection);
command.Connection.Open();
returnDeleted = command.ExecuteNonQuery();
command.Connection.Close();
}
return returnDeleted.ToString();
}
選択した行のみを削除できるように、各行に一意の ID が割り当てられるように、SQL から自動インクリメント ID を使用するように言われました。しかし、私はそれを行う方法さえ知りません。SQL で itemcode 列の ID オプションを既に有効にしていますが、それ以外はわかりません。そのIDを使用して、aspのチェックボックスリストから選択したアイテムのみを削除するにはどうすればよいですか?