
C# Dataset Nedir? SQL üzerinden temel CRUR işlemlerini uzun ADO.Net sorguları(SQLCommand, ExecuteNonQuery) gerek kalmadan, bunları hazır olarak veren yapılardır. Hadi hep birlikte DATASET ile CRUD İşlemleri nasıl yapılır inceleyelim.
Not: Veri Kümesi olarak düşünülebilir.
Dataset Ekleme
CRUD işlemlerini biraz daha açacak olursak;
CREATE, READ, UPDATE, DELETE yani Oluşturma, Okuma, Güncelleme ve Silme olarak bu başlıklar üzerinden ilerlemektir. Matematik de ki dört işlemimiz yazılımda CRUD işlemleridir.
Yukarıda ki gibi projenizde solution’ a sağ tık yapıp Add/ New Item dedikten sonra Dataset seçeneğini tıklayıp DataSet’ imize isim vererek Add diyebiliriz.
Daha sonra karşımıza çıkacak boş beyaz ekranda da sağ tık yapıp Add/ Table Adapter dememiz gerekiyor. Bu şu anlama geliyor; verileri okuyup getirecek adaptörümüz yani köprümüz. Bunun üzerinden akışı sağlayacağız. Sonrasında ağıdaki gibi veri tabanımızla olan bağlantıyı otomatik getirecektir.
Burada oluşacak otomatik sorguda bağlantı cümlesi görülsün mü görülmesin mi şeklinde kutucuk var Show the connection ile başlayan. Buna işaretlemeniz durumunda yapılan bağlantıda bağlantı cümlesi de eklenecektir. İşaretlemezsek yine eklenecekti ama kullanıcıya yani bize gösterilmeyecektir. Güvenlik amaçlı işaretlemezsek daha iyi olacaktır. C# Dataset Nedir? sorusu aydınlanıyor.
Sonrasında karşımıza
- SQL sorgusu yazıp oluşturabileceğimiz
- Store Procedure(SP) oluşturabileceğimiz
- Dışarıda SP çağırabileceğimizi
Söyleyen seçenekler göreceğiz.
Biz en üsttekini yani SQL cümlesi oluşturmak istediğimizi belirten seçeneği tıklayıp ileri diyoruz.
Dataset İle Sorgu Oluşturma
Yukarıda ki ekrana ulaşabildiysek burada yapacaklarımız çok önemli. Çünkü elle yazmak yerine Add Table kısmından hangi tablolar arasında sorgu oluşturmak istiyorsak eklemeliyiz. Bu seçimi yaptıktan sonra aşağıdaki gibi bir ekran gelecektir.
Elimde olan tüm tabloları eklediğim için bu şekilde kompkles bir yapı gibi görülebilir. Ama aslında basit bir mantığı var. Birbiri ile ilişkili olan tabloları gösteriyor. Yavaş yavaş C# Dataset Nedir? sorusunun cevabını veriyoruz.
Aşağısında ki otomatik oluşan Select sorgusuna dikkat edersek JOIN ekliyor. Burada ki amaçta bu aslında zaten. Elle yazmakta zorlandığınız JOIN sorgularını burada oluşturup kapatabilirsiniz. Bu işlemi SQL View sihirbazında da yapabiliyoruz. View açıkladığımız yazımızda da belirtiyor olacağım. JOIN amacı neydi peki? tabloları birleştirip ortak olan verileri getirmek.
Benim veri tabanımda Müşteri, Satışlar, Ürünler olmak üzere 3 tablo var. Bunların birbirine bağlantısı
TBL_MUSTERI.ID > TBL_SATISLAR.ID
TBL_SATISLAR.URUN > TBL_URUNLER.URUN_ID şekildedir.
Yukarıda ki gibi tabloları ekledikten sonra kutucukları seçersem aşağıdaki oluşan otomatik JOIN sorgusunda benim veri tabanımda Hangi ürün? Kime? Kaç Adet? Hangi Fiyata? Satılmış sorularının cevabını verecektir. Yukarıda ki sorguyu çok ufak modifiye ederek yazıyorum.
SELECT
TBL_MUSTERI.AD +' '+ TBL_MUSTERI.SOYAD as 'Müşteri Ad Soyad',
TBL_SATISLAR.ADET,
TBL_URUNLER.URUN_ADI,
TBL_SATISLAR.FIYAT
FROM TBL_MUSTERI INNER JOIN
TBL_SATISLAR ON TBL_MUSTERI.ID = TBL_SATISLAR.MUSTERI INNER JOIN
TBL_URUNLER ON TBL_SATISLAR.URUN = TBL_URUNLER.URUN_ID
Burada Execute Query diyerek sorgunuzu test edebilirsiniz. Çalıştığını gördüğünüzde dilerseniz SP olarak değiştirebilir ya da C# üzerinden çağrılmasını yapabilirsiniz. Son olarak bu sorguyu C# üzerinden çağırılırsa metod atı ne olsun kısmını belirlememiz lazım.
Oluşturulan Sorguyu C# Üzerinde Çağırma
Yukarıda ki gibi Satis_Listesi adında metot oluştur diyebiliriz. Finish dedikten sonra artık datasetimiz içerisinde bu metodumuz hazır. Yani ilk anlattığımızda ki gibi veri kümelerinin bir kısmını oluşturduk.
Şimdi de yukarıda yine bahsettiğim C#’ da nasıl kullanırız? Sorusuna cevap verelim. İlk olarak dataadapters sınıfını sınıfınızın en üstünde using’lerinize eklemeniz gerekir.
Bende using Urun_Takip_Projesi.UrunlerDataSetTableAdapters;
Şeklinde görülüyor. Yapı şu şekilde using Proje_Adi.DataSet_Adi olarak oluşturabilirsiniz. Daha sonrasında ise adapter adından bir nesne türetmemiz gerekiyor. Bu da bende şu şekilde görülüyor.
TBL_SATISLARTableAdapter ds = new TBL_SATISLARTableAdapter();
Artık ds adındaki nesneden Datasetiniz içerisinde ki tüm metotlarınıza ulaşabilirsiniz. Hadi bende ki metotlara bakalım. Böylece 2 tane metodum görülüyor.
Artık C# Dataset Nedir? sorusunun cevabını tamamen almış olduk. Tabi bu işlemler kendi başına yetmeyeceğinden ötürü Algoritmayı da iyi yazmalıyız. Bunun için Algoritma Nedir? yazımı okuyabilirsiniz. Ya da YouTube kanalımdan diğer videolarımdan nasıl yapılır öğrenebilirsiniz. İyi çalışmalar…