Kurumsal Otomasyon Çözümlerinde Zirve

LINQ TO ADO.NET-Dataset-DataTable

LINQ To ADO.NET(LINQ TO DATASET)

Yeni bir makale ve taze bir konu ile umarım isteklerinize çare bulacağız.

Bu makale de LINQ(Language Integrated Query) ile ADO.NET ilişkisine değineceğiz.

LINQ sayesinde bir çok veri kaynağına sorgu yazılabilmektedir. Bu sorgular hemen hemen bütün ihtiyaçlarınızı görecek şekilde güçlü bir altyapıya sahiptir.

LINQ ile sorgu yazılabilecek veri kaynaklarından biri de Veritabanı Proglama yapan yazılımcıların sıkça kullandıklarıdataset ya da datatable nesneleridir. Bilindiği üzere Datatable ya da Dataset nesnelerine de sorgu yazılabilir ama bu sorgular yeterince kapsamlı değildir. Mutlaka sıkıştığınız noktalar olur ve yeni bir sorgu yazmak zorunda kalırsınız.  Şimdi LINQ ile bu nesnelere sorgu yazma temellerine değinelim. Bundan sonra iş LINQ sorgularını yazabilmeye kalacak. Bu konuda https://www.e-learner.net sitesinde bulunan görsel eğitimlerden de yararlanabilirsiniz.

 

Projemiz için aşağıdaki şekilde tasarlanmış bir tablomuz olsun. Veritabanımızın ismi ise Elearnerekibi.

linq-to-ado-net-dataset-datatable-1

linq-to-ado-net-dataset-datatable-1

Şimdi yeni bir proje açıp işe koyulalım.

  1. Adım: Projemize bir adet Class ekleyelim.

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data; //Eklemeyi unutmayın

using System.Data.SqlClient; //Eklemeyi unutmayın

 

namespace WindowsFormsApplication17

{

class Class1

{

 

private void BaglantiKontrol() //Baglantının durumunu kontrol eden

                                            //methodumuz(Procedure)

{

if (baglanti.State == ConnectionState.Closed)

{

baglanti.Open();

}

}

 

SqlConnection baglanti = newSqlConnection(“server=localhost;initial

catalog=elearner;integrated security=true”);

                                       //Veritabanı bağlantı imzası

                                       //oluşturalım

SqlCommand komut;

public DataTable EkipBilgisiGetir() //Datatable döndüren methodumuz(Function)

{

komut = new SqlCommand(“select * from elearnerekibi”, baglanti); //SQL

                                                                           //Sorgumuz

DataTable dt = new DataTable();

SqlDataReader oku = komut.ExecuteReader(); //SqlCommand nesnesi ile gelen

                                          //veriler SqlDataReader nesnesine aktarıldı.

dt.Load(oku); //Datatable nesnesi sorgu sonucunda dönen verilerle

                          //dolduruldu.

return dt;    //Datatable dönüş değeri olarak belirtildi…

}

 

}

}

  1. Adım: Formumuza bir adet buton ekleyelim ve Click Eventinegidelim…

 

Class1 yeni = new Class1(); //Class içerisindeki public methodlara ulaşabilmek için

                                    //yavru değişken türettik.

private void button12_Click(object sender, EventArgs e)

{

DataTable dt = yeni.EkipBilgisiGetir();//Gelen veriler dt adlı Datatable

                                                   //nesnesine aktarıldı.

 

//İŞTE LINQ TO DATATABLE YA DA DATASET

IEnumerable<DataRow> sorgu =  //Veritipi olarak IEnumerable kullanıyoruz. Bu

                                     //sınıf bize sorgu sonucunu dolaşabilme imkanı verecek.

from uye in dt.AsEnumerable()

where uye.Field<string>(“adi”) == “Engin” //ŞART VARSA BURAYA YAZIYORUZ…

select uye;

 

foreach (DataRow dr in sorgu)

{

MessageBox.Show(dr.Field<string>(“biyografi”));

}

}

Yorum Yapılmamış

Bir cevap yazın