none
checkbox ile veri tabanında arama RRS feed

  • Soru

  • Merhaba arkadaşlar,

    1 adet veri tabanı ve 4 adet checkbox var elimde.

    checkboxlar da 1 den çok seçim yaptığımda seçilenleri veri tabanında belirlenen sütunda arayıp datagridview de gösterecek.

    ben 1 adet seçili olduğunda göstere biliyorum ama birden çok olduğunda göstermiyor en son seçtiğimi gösteriyor sadece.

    bunu nasıl yapa bilirim veya checkbox değilde farklı ne kullana bilirim de birden çok seçili veriyi aynı anda arata bilirim yarımlarınız için şimdiden teşekkürler.

    10 Eylül 2017 Pazar 14:01

Yanıtlar

  • string filtre 
    {
        get
        {
            string ret = "";
            if (checkBox1.Checked)
                ret = "Alan1 LIKE @Parametre1";
            if (checkBox2.Checked)
            {
                if (ret != "")
                    ret += " OR ";
                ret += "Alan2 LIKE @Parametre2";
            }
            if (checkBox3.Checked)
            {
                if (ret != "")
                    ret += " OR ";
                ret += "Alan3 LIKE @Parametre3";
            }
            if (checkBox4.Checked)
            {
                if (ret != "")
                    ret += " OR ";
                ret += "Alan4 LIKE @Parametre4";
            }
            if (ret != "")
                ret = " WHERE " + ret;
            return ret;
        }
    }
    
    void sorgula()
    {
        string sqlText = "SELECT * FROM TabloAdi" + filtre;
        DataTable dTable = new DataTable (); 
        using (SqlConnection baglanti = new SqlConnection("Bağlantı ifadenizi buraya yazın..."))
        {
            using (SqlDataAdapter dAdapter = new SqlDataAdapter(sqlText))
            {
                if (checkBox1.Checked)
                    dAdapter.SelectCommand.Parameters.AddWithValue("@Parametre1", "%"+ BurayaCheckBox1SecildigindeHangiDegerAranacaksaOnuYazin + "%");
                if (checkBox2.Checked)
                    dAdapter.SelectCommand.Parameters.AddWithValue("@Parametre2", "%"+ BurayaCheckBox2SecildigindeHangiDegerAranacaksaOnuYazin + "%");
                if (checkBox3.Checked)
                    dAdapter.SelectCommand.Parameters.AddWithValue("@Parametre3", "%"+ BurayaCheckBox3SecildigindeHangiDegerAranacaksaOnuYazin + "%");
                if (checkBox4.Checked)
                    dAdapter.SelectCommand.Parameters.AddWithValue("@Parametre4", "%"+ BurayaCheckBox4SecildigindeHangiDegerAranacaksaOnuYazin + "%");
                dAdapter.Fill(dTable);
                dataGridView1.DataSource = dTable;
            }
        }
    }


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    10 Eylül 2017 Pazar 17:50

Tüm Yanıtlar

  • if (checkBox1.Checked == true && checkBox2.Checked == false  && checkBox3.Checked == false && checkBox4.Checked == false)
    
    {
    //Sadece checkBox1 Seçili Olduğunda
    //VeriTabanından Çekeceğin Bilgiler
    }
    if (checkBox1.Checked == false && checkBox2.Checked == true  && checkBox3.Checked == false && checkBox4.Checked == false)
    {
    //Sadece checkBox2 Seçili Olduğunda
    //VeriTabanından Çekeceğin Bilgiler
    }
    
    Bu Şekilde CheckBoxların Durumunu Kontrol Ettirebilirsin.. Tabi Bunu Kendi Çalışmana Göre Düzenlemen Gerekecek.. 



    10 Eylül 2017 Pazar 15:08
  • yok olmadı veya ben mi uygulayamadım ama bilmiyorum en son seçtiğimi getiriyor sadece veri tabanına

    10 Eylül 2017 Pazar 15:23
  • Birden Fazla checkbox ı Kontrol Etmek İçin 

    if (checkBox1.Checked == false && checkBox2.Checked == true  && checkBox3.Checked ==true && checkBox4.Checked == false)

    Mesela Bu Kod Satırında checkBox2 ve checkbox 3 ü true yaparak birden fazla konrol ü aynı anda sağlayabilirsin..Tabi Ben Bunu Örnek Verdim,, Sen Hangisi İle Kontol Sağlamak İstiyorsan Ona Göre Düzenle..

    10 Eylül 2017 Pazar 17:21
  • string filtre 
    {
        get
        {
            string ret = "";
            if (checkBox1.Checked)
                ret = "Alan1 LIKE @Parametre1";
            if (checkBox2.Checked)
            {
                if (ret != "")
                    ret += " OR ";
                ret += "Alan2 LIKE @Parametre2";
            }
            if (checkBox3.Checked)
            {
                if (ret != "")
                    ret += " OR ";
                ret += "Alan3 LIKE @Parametre3";
            }
            if (checkBox4.Checked)
            {
                if (ret != "")
                    ret += " OR ";
                ret += "Alan4 LIKE @Parametre4";
            }
            if (ret != "")
                ret = " WHERE " + ret;
            return ret;
        }
    }
    
    void sorgula()
    {
        string sqlText = "SELECT * FROM TabloAdi" + filtre;
        DataTable dTable = new DataTable (); 
        using (SqlConnection baglanti = new SqlConnection("Bağlantı ifadenizi buraya yazın..."))
        {
            using (SqlDataAdapter dAdapter = new SqlDataAdapter(sqlText))
            {
                if (checkBox1.Checked)
                    dAdapter.SelectCommand.Parameters.AddWithValue("@Parametre1", "%"+ BurayaCheckBox1SecildigindeHangiDegerAranacaksaOnuYazin + "%");
                if (checkBox2.Checked)
                    dAdapter.SelectCommand.Parameters.AddWithValue("@Parametre2", "%"+ BurayaCheckBox2SecildigindeHangiDegerAranacaksaOnuYazin + "%");
                if (checkBox3.Checked)
                    dAdapter.SelectCommand.Parameters.AddWithValue("@Parametre3", "%"+ BurayaCheckBox3SecildigindeHangiDegerAranacaksaOnuYazin + "%");
                if (checkBox4.Checked)
                    dAdapter.SelectCommand.Parameters.AddWithValue("@Parametre4", "%"+ BurayaCheckBox4SecildigindeHangiDegerAranacaksaOnuYazin + "%");
                dAdapter.Fill(dTable);
                dataGridView1.DataSource = dTable;
            }
        }
    }


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    10 Eylül 2017 Pazar 17:50