none
C# Access database de küçük harf, büyük harf duyarlılığı RRS feed

  • Soru

  • Merhabalar

    C# Access database de küçük harf, büyük harf farketmeksizin veriyi nasıl çekebilirim?

    şöyleki : soyadı alanına kullanıcı 'ÇELİK' veya 'çelik' olarak iki farklı kişi kaydı yaptığında arama yaparken büyük yazılırsa büyük harfle yazılanı, küçük yazılırsa küçük harfle yazılan sonucu döndürüyor.

    Büyük yada küçük harfle yazılması farketmeksizin her iki sonucu da görstermesi için nasıl bir yol izlemem lazım?

    17 Nisan 2018 Salı 10:29

Yanıtlar

  • private void btnMecUyeAra_Click(object sender, EventArgs e)
    {
        using (OleDbDataAdapter adtr = new OleDbDataAdapter($"SELECT * FROM MecUyeBil WHERE UCASE(REPLACE([UyeAdi], 'i', 'İ')) LIKE '%{txtAra.Text.ToUpper()}%'", bag))
        {
             adtr.Fill(tabloUyeAra);
        }
        dtGrdViewAra.DataSource = tabloUyeAra;
    }
    

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

    • Yanıt Olarak İşaretleyen Hasan TİRTOM 29 Ağustos 2018 Çarşamba 14:39
    29 Ağustos 2018 Çarşamba 07:45
  • Sorun Access kaynaklı olabilir.

    Sanırım Access Sql ifadesinde, LIKE operatörü ile % yerine * kullanılıyor.


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

    • Yanıt Olarak İşaretleyen Hasan TİRTOM 29 Ağustos 2018 Çarşamba 14:38
    29 Ağustos 2018 Çarşamba 13:42
  • Hocam yardımlarınız için çok teşekkür ederim. Vermiş olduğunuz kodları aşağıdaki gibi düzenleyerek çalıştırabildim. 

    private void btnMecUyeAra_Click(object sender, EventArgs e) {

          string ara = txtAra.Text.ToUpper();
          OleDbDataAdapter adtr = new OleDbDataAdapter("Select * From MecUyeBil Where UCase(RePlace([UyeAdi], 'i','İ')) like '%"+ara+ "%' OR UCase(RePlace([UyeSoyad], 'i','İ')) like '%" + ara + "%' ", bag);              
          adtr.Fill(tabloUyeAra);

         dtGrdViewAra.DataSource = tabloUyeAra;

    }


    • Yanıt Olarak İşaretleyen Hasan TİRTOM 29 Ağustos 2018 Çarşamba 14:08
    29 Ağustos 2018 Çarşamba 14:02

Tüm Yanıtlar

  •         private DataTable oku()
            {
                string Soyad = "çelik";
                DataTable dTable = new DataTable();
                using (OleDbConnection connection = new OleDbConnection("Bağlantı metninizi buraya yazın.!."))
                {
                    using (OleDbDataAdapter oddAdapter = new OleDbDataAdapter("SELECT * FROM [TabloAdi] WHERE UCASE(REPLACE([Soyadi], 'i', 'İ'))=[@Soyadi]", connection))
                    {
                        oddAdapter.SelectCommand.Parameters.AddWithValue("@Soyad", Soyad.ToUpper(new System.Globalization.CultureInfo("tr-TR")));
                        oddAdapter.Fill(dTable);
                    }
                }
                return dTable;
            }
    


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

    17 Nisan 2018 Salı 11:34
  • Hocam cevabınız için teşekkür ederim ancak 'kullanıcı ekleme' işini kullanıcı yapacağı için ve 'ÇELİK' sabit bir veri olmadığından vermiş olduğunuz çözüm sanırım yeterli olmayacaktır. Yada tüm Türkçe karakterleri değiştiren bir prosedür yazmak gerekecektir sanırım. Daha kolay bir çözümü var mııdır acaba? Aynı zamanda textbox a girilen değer hem ad hem de soyad alanlarında aracak.
    18 Nisan 2018 Çarşamba 05:56
  • Yukarıdaki yanıtta, string Soyad tanımını oku metoduna parametre olarak vermeniz yeterli.!.

            private DataTable oku(string Soyad)
            {
                DataTable dTable = new DataTable();
                using (OleDbConnection connection = new OleDbConnection("Bağlantı metninizi buraya yazın.!."))
                {
                    using (OleDbDataAdapter oddAdapter = new OleDbDataAdapter("SELECT * FROM [TabloAdi] WHERE UCASE(REPLACE([Soyadi], 'i', 'İ'))=[@Soyadi]", connection))
                    {
                        oddAdapter.SelectCommand.Parameters.AddWithValue("@Soyad", Soyad.ToUpper(new System.Globalization.CultureInfo("tr-TR")));
                        oddAdapter.Fill(dTable);
                    }
                }
                return dTable;
            }


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

    18 Nisan 2018 Çarşamba 06:26
  • Hocam kusura bakmayın aradan uzun zaman geçti ama ben halen bu kodu çalıştıramadım. 

    Benim arama butonuna tıkladığımda şu kodlar çalışıyor;

    Private void btnMecUyeAra_Click(object sender, EventArgs e)

    {

    OleDbDataAdapter adtr = new OleDbDataAdapter("Select * From MecUyeBil Where UyeAdi like '%" +txtAra.Text+"%', bag);

    adtr.Fill(tabloUyeAra);

    dtGrdViewAra.DataSource=tabloUyeAra;

    }

    Sizin yazmış olduğunuz kodları buraya uyarlayamadım yada nasıl çağıracağımı bulamadım. Yardımcı olursanız çok sevinirim.

    29 Ağustos 2018 Çarşamba 05:52
  • private void btnMecUyeAra_Click(object sender, EventArgs e)
    {
        using (OleDbDataAdapter adtr = new OleDbDataAdapter($"SELECT * FROM MecUyeBil WHERE UCASE(REPLACE([UyeAdi], 'i', 'İ')) LIKE '%{txtAra.Text.ToUpper()}%'", bag))
        {
             adtr.Fill(tabloUyeAra);
        }
        dtGrdViewAra.DataSource = tabloUyeAra;
    }
    

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

    • Yanıt Olarak İşaretleyen Hasan TİRTOM 29 Ağustos 2018 Çarşamba 14:39
    29 Ağustos 2018 Çarşamba 07:45
  • hocam kodları yukarıdaki gibi düzenledim fakat bu sefer ne büyük harf ne küçük harf için hiçbir sonuç döndürmüyor.
    29 Ağustos 2018 Çarşamba 09:13
  • Sorun Access kaynaklı olabilir.

    Sanırım Access Sql ifadesinde, LIKE operatörü ile % yerine * kullanılıyor.


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

    • Yanıt Olarak İşaretleyen Hasan TİRTOM 29 Ağustos 2018 Çarşamba 14:38
    29 Ağustos 2018 Çarşamba 13:42
  • Hocam yardımlarınız için çok teşekkür ederim. Vermiş olduğunuz kodları aşağıdaki gibi düzenleyerek çalıştırabildim. 

    private void btnMecUyeAra_Click(object sender, EventArgs e) {

          string ara = txtAra.Text.ToUpper();
          OleDbDataAdapter adtr = new OleDbDataAdapter("Select * From MecUyeBil Where UCase(RePlace([UyeAdi], 'i','İ')) like '%"+ara+ "%' OR UCase(RePlace([UyeSoyad], 'i','İ')) like '%" + ara + "%' ", bag);              
          adtr.Fill(tabloUyeAra);

         dtGrdViewAra.DataSource = tabloUyeAra;

    }


    • Yanıt Olarak İşaretleyen Hasan TİRTOM 29 Ağustos 2018 Çarşamba 14:08
    29 Ağustos 2018 Çarşamba 14:02
  • Verdiğim son yanıt sorununuzu çözmüş. "Yanıt olarak işaretle"r misiniz?

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

    29 Ağustos 2018 Çarşamba 14:36