none
Checkbox ta birden fazla veri silme hakkında RRS feed

  • 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();
                    }
                }

    30 Aralık 2014 Salı 11:19

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
    30 Aralık 2014 Salı 12:35

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
    30 Aralık 2014 Salı 11:39
  • 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.
    30 Aralık 2014 Salı 11:48
  •             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
    30 Aralık 2014 Salı 12:35
  • Çalıştı.Teşekkür ederim yardımınız için.
    30 Aralık 2014 Salı 12:47