YazilimDevi.Com {..} Yazılım Devi Olacaksın :)  
Kullanıcı Adı :
Şifre :
 
   
  En Çok İzlenen KonularAnlatım
İzle  C# ile Ado.NET-Tablo Verilerini Projemize AktaralimEngin Demirog
İzle  Active Directory Kurulumu (1)Salih Demirog
İzle  Exchange Server 2003 KurulumuSalih Demirog
ASP.NET
ASP.NET AJAX
BILGISAYAR
C#
CRYSTAL REPORTS
CSS
LINQ
MS ACCESS
MS EXCEL
MS POWERPOINT
MS WORD
POCKET PC
SQL
SQL SERVER
VISUAL BASIC
WPF
ISA SERVER 2006
MS EXCHANGE SERVER
MS OUTLOOK
MS SERVER 2003-2008
 
 

 Bu makalemizde SQL’deki LIKE komutunun LINQ’teki uygulanma yöntemlerini inceleyelicegiz.

Kitap bilgilerimizin bulundugu kitapbilgisi isimli bir tablomuzun oldugunu düsünelim.  Bu tabloda isminin içerisinde “server” geçen kitaplarin isimlerini listelemek istiyoruz. C# 2.0’da bunun için yazacagimiz kod su sekilde olurdu :
SELECT adi FROM kitapbilgisi WHERE adi LIKE '%server%'
LINQ’te kullanirken iki yöntem uygulayabiliriz. Ilk yöntem Contains metodu, ikinci yöntem ise LIKE metodu.
Uygulamamiz için öncelikle bir adet DataClasses ekliyoruz ve veritabani baglantisi olusturup kitapbilgisi tablosunu DataClasses1 içerisine yerlestiriyoruz:
Temel islemler (DataClasses ekleme ve veritabani baglantisi) için bu linkte bulunan makaleyi inceleyebilirsiniz.
Öncelikle bu islemi Contains metodu ile nasil yapacagimizi inceleyelim:
 
private void ContainsIleVerileriAl()
{
        DataClasses1DataContext dc = new DataClasses1DataContext();
 
        var kitaplar = from kitap in dc.kitapbilgisis
                       where kitap.adi.Contains("server")
                       select kitap.adi;
 
        foreach (string kitap in kitaplar)
               listBox1.Items.Add(kitap);
        }
 
 
where kitap.adi.Contains(textBox1.Text) : WHERE kosulunda kitabin adinin içerisinde "server" stringi var olanlarin adi bilgilerini kitaplar degiskenine ekler.
 
Simdi de Like metodu ile nasil yapacagimizi inceleyelim. Bunun için öncelikle using bölümüne
 
using System.Data.Linq.SqlClient; ‘i ekliyoruz.
 
 
private void LikeIleVerileriAl()
{
        DataClasses1DataContext dc = new DataClasses1DataContext();
 
        var kitaplar = from kitap in dc.kitapbilgisis
                       where SqlMethods.Like(kitap.adi, "%server%")
                       select kitap.adi;
 
        foreach (string kitap in kitaplar)
               listBox1.Items.Add(kitap);
}
 
 
where SqlMethods.Like(kitap.adi, "%server%") : SqlMethods sinifi, System.Data.Linq.SqlClient namespace’i içinde yer almaktadir. Adindan da anlasilacagi gibi bazi SQL metotlarini içinde bulunduran bu sinifin Like metodunu kullaniyoruz. Ilk parametre, tablonun hangi sütununda çalisilacagini gösterir. Ikinci parametre ise arama kriterini gösterir.
Uygulamamizin ekran çiktisi asagidaki gibidir:
 

 
 
 
Veysel Ugur KIZMAZ