En iyi yanıtlayıcılar
Checkbox ta birden fazla veri silme hakkında

Soru
-
Merhaba.
Checkbox listte birden aynı anda seçip silmek istiyorum. Ama iki veri şeçip sile tıkladığımda sadece birini siliyor bir de seçmediğim verileri de siliyor.Kodum böyle.Yanlışım nerde?
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Selected=true)
{
SqlCommand cmd = new SqlCommand("delete from Sehirler where ID=@ID", con);
cmd.Parameters.AddWithValue("@ID", CheckBoxList1.SelectedValue);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
drpDoldur();
lboxDoldur();
cboxlistDoldur();
}
}
Yanıtlar
-
var selected = (from ListItem li in CheckBoxList1.Items where li.Selected == true select li).ToList(); foreach (var item in selected) { SqlCommand cmd = new SqlCommand("delete from Sehirler where ID=@ID", con); cmd.Parameters.AddWithValue("@ID", item.Value); con.Open(); cmd.ExecuteNonQuery(); con.Close(); drpDoldur(); lboxDoldur(); cboxlistDoldur(); }
şeklinde dener misin? using kısmında System.Linq eklenmiş olsun- Düzenleyen Olcay GUZEL 30 Aralık 2014 Salı 12:37
- Yanıt Olarak İşaretleyen Önay YALÇINERModerator 30 Aralık 2014 Salı 12:49
Tüm Yanıtlar
-
Sorun
cmd.Parameters.AddWithValue("@ID", CheckBoxList1.SelectedValue);
satırında. Bu satırı
cmd.Parameters.AddWithValue("@ID",CheckBoxList1.Items[i].Text);
şeklinde değiştirip dener misin? Hatta şunu önerebilirim. SqlCommand tanımını döngünün üstüne al bir de SQL'de IN kullanımını bir araştır. Tek sorguda halledebilirsin
- Düzenleyen Olcay GUZEL 30 Aralık 2014 Salı 11:41
- Yanıt Olarak Öneren Kenan YILMAZ 30 Aralık 2014 Salı 11:43
-
Denedim 2 tane gdsfg234 gibi kayıt attım. Onları seçtim. Ama Conversion failed when converting the nvarchar value 'İstanbul' to data type int. hatasını aldım. Ama İstanbul'u seçmedim ki.
- Düzenleyen Alican Kırma 30 Aralık 2014 Salı 11:49
-
var selected = (from ListItem li in CheckBoxList1.Items where li.Selected == true select li).ToList(); foreach (var item in selected) { SqlCommand cmd = new SqlCommand("delete from Sehirler where ID=@ID", con); cmd.Parameters.AddWithValue("@ID", item.Value); con.Open(); cmd.ExecuteNonQuery(); con.Close(); drpDoldur(); lboxDoldur(); cboxlistDoldur(); }
şeklinde dener misin? using kısmında System.Linq eklenmiş olsun- Düzenleyen Olcay GUZEL 30 Aralık 2014 Salı 12:37
- Yanıt Olarak İşaretleyen Önay YALÇINERModerator 30 Aralık 2014 Salı 12:49
-