12 Haziran 2013 Çarşamba

datagridview listele

Veritabanındaki verilerin DataGridView ‘a listelenmesi ve DataSet kavramı…
Tablodaki verileri DataGridView ‘a listeleme… 
Öncelikle merhaba arkadaşlar.Visual Studio Windows Form uygulamasında tablo olusturularak ve tablo şemasının adını fatura olarak belirleyelim.Tabloya ;
Fatura_No(int),Adi_Soyadi(nchar),Adres(nchar),Kdv(int),Fatura_Tarihi(nchar),Son_Odem_Tarihi(nchar),Odenecek_Tutar(int) adında tabloda columns (sütun kolonlar) oluşturalım ve parantez içindeki gibi tiplerini belirtelim.Tablo üzeriden sağ tuş tıklayarak Show Table Data seçelim.
Form üzerine bir buton ve datagridview oluşturalım.Using System.Data.SqlClient ve using System.Datakütüphanelerini import edelim.Daha sonra aşağıdaki kodları yazalım.
SqlConnection ile  bağlantı adında bir nesne oluşturduk ve Data String adres bölümünü aldık.SqlDataAdapter ile adaptor adında yeni bir nesne daha oluşturuyoruz.Bu adaptor nesnesine sql komut cümleciklerini yazarak bütün tablodaki verileri isteyerek bir sorgu oluşturduk.Daha sonra bağlantıyı açarak (baglanti.Open()) DataTable ile dt nesnemizi oluşturduktan sonra DataTable’e verileri aktardık.Yani Veritabanının bire-bir kopyası olarak kullanılabilecek DataSet, uygulamanın çalıştığı makinanın belleğine yerleşir ve orada sanki veritabanıymış gibi kullanılabilir. Mesela bir DataSet üzerinde sorgulamalar, güncellemeler, eklemeler ve kayıt silme işlemleri yapılabilmektedir. Tabii ki şunu da karıştırmamak gerekir; Bir DataSet veri tutmaz, veriyi DataSet içerisindeki DataTable adı verilen nesneler tutmaktadır. Bu nedenle, DataAdapter class’ının Fill() metoduna da DataSet’i doldurması söylendiğinde, aslında DataSet’in içerisine bir tane DataTable açar ve onun içerisine verileri atar. Ayrıca bir DataSet içerisinde birden çok DataTable olabilir ve bu tablolar arasında DataRelation adı verilen bağlantı nesneleri yer almaktadır.
Oluşturduğumuz dataGridView1 içerisine DataSource aracılığıyla DataTable nesnesi olan dt ile verileri okuyup listelenmesi gerçekleşmiş olur.Projeyi bilgisayarınıza indirmek için aşağıdaki linke tıklayınnız…

Entity Framework nedir? ne işe yarar?

http://www.cagdasblog.com/genel/framework.html


Entity Framework Nedir?

Entity Framework (EF)’ün tanımına geçmeden önce ORM’nin kısaca tanımı ile başlamak istiyorum. ORM yani “Object Relational Mapping” geliştirilen uygulama ile veritabanı arasında köprü olan bir araçtır. Veritabanındaki tabloları class’lara, kolonları property’lere, kayıtları ise objelere dönüştürerek uygulamanın direkt olarak veritabanına erişmesine gerek kalmadan tüm veri tabanı işlemlerini gerçekleştirir. Böylece veritabanı işlemlerinin Sql kodları yazmadan nesneler üzerinden kolayca yapılmasını sağlar. Bunu basit bir örnekle şöyle anlatabiliriz. Veri tabanına yapılacak olan CRUD (Create Read Update Delete) işlemleri ORM aracı tarafından algılanır ve yapılacak olan işlem Sql kodlarına dönüştürülür. Bu işleme “Code Generating” denir.
Günümüzde kullanılan birçok ORM aracı bulunmaktadır. Örneğin; Java tabanlı olarak Hibernate, Flex’de Athena Framework, Delphi’de ECO gibi. Entity Framework ise Microsoft tarafından geliştirilen .Net tabanlı bir ORM aracıdır. Entity Framework ile kolayca CRUD işlemleri yapılabilir. Peki, neden ORM? Çünkü;
-          Veritabanı işlemleri ile ilgili kod yazımı en aza ineceğinden minimum zamanda maksimum iş çıkartmayı sağlar.
-          OOP düzeninde kod yazmayı sağlar.
-          Veritabanı olarak esnek yapıya sahiptir. Örneğin yazdığınız proje MSSQL ile çalışmakta ve birden Oracle’a geçmeniz istendi. Bunu yapabilmek için birçok ayar gerekirken Entity Framework ile direkt geçiş yapabilirsiniz.
-          Veritabanı bağımlılığı yoktur. Yani EF’yi oluşturmadan önce veritabanı tablo ve kolonlarını oluşturmalısınız gibi bir kural yoktur. Siz EF ile modellemeyi yaparken olmayan tabloları ve kolonları sizin yerinize açacaktır.
-          Maintenance daha kolaydır.
Her ne kadar EF kodlama olarak zaman kazandırsa da performans olarak ADO.Net kadar hızlı değildir.
Model Katmanı Nedir?
Model katmanını en genel biçimde tanımlayacak olursak; veritabanı işlemlerinin yapıldığı yerdir diyebiliriz.Bu tanımı biraz genişletmek gerekirse, uygulamanın veriye erişimini ve iş mantığını gerçekleştiren nesneleri içeren katmandır.Yani veritabanı veri eklenirken ya da veri çekilirken hangi kurallara göre yapilacağı ve bu işlemlerin yapıldığı yerdir.Bu katmanda Linq To SQL dosyaları, Entity Framework dosyaları ya da data taşıyan nesneler bulunur.Model katmanı,Controller katmanı ile iletişim halindedir.Model katmanında ORM araçları sayesinde veritabanı tablolarını nesne olarak kullanabiliriz.

entity framework nedir

Entity Framework ilk olarak .Net Framework 3.5 SP1 ve Visual Studio 2008 SP1 ile 11 Ağustos 2008 tarihinde gelmiştir.

Entity Framework ile 4 farklı yöntem ile proje geliştirilebilir. Bu yöntemler;
-          Model First (New Database)
-          Database First (Existing Database)
-          Code First (New Database)
-          Code First (Existing Database)
Model First (Önce Model): Bu yöntemde Visual Studio üzerinde boş bir model dosyası (.edmx) eklenerek veri tabanı bu model üzerinde oluşturulur.
Database First (Önce Veritabanı): Bu yöntemde hali hazırda var olan veritabanı projeye model dosyası ile bağlanır ve gerekli class’lar EF tarafından üretilir.
Code First (Önce Kod – Yeni Veritabanı): Bu yöntemde classlar ve mapping kodları yazılımcı tarafından oluşturulur. Daha sonra veri tabanı bu class’lardan türetilir.
Code First (Önce Kod – Var olan Veritabanı): Bu yöntemde de classlar ve mapping kodları yazılımcı tarafından oluşturulur. Veritabanı class’ların ve modellemenin durumuna göre tekrardan şekillenebilir.

dataset

http://www.cagdasblog.com/genel/dataadapter-dataset.html

SqlDataAdapter
SqlDataAdapter class’ı bağlantısız modelin en güçlü bileşenidir. Bu nesne ile veritabanına bağlantı kurulduktan sonra yazılan sql cümlesini çalıştırıp, dönecek olan sonuç kümesini, bu sonuçları bellekte tutacak olan nesnelere yükleme işlemi kolayca yapılmaktadır. Bu işlem aslında veri getirme işlemi olarak düşünülmektedir. Ancak SqlDataAdapter sınıfı sadece veri getirmek için kullanılmaz, getirdiği bu veri üzerindeki değişiklikleri, yeni eklenen satırları, ve bellekte bulunan veri üzerinden silinen satırları tekrar veritabanına yansıtmak için kullanılan bileşen de budur.
Bu işlemleri yapabilmesi için, bu bileşende, Select (Seçme) işlemleri için SelectCommand, insert (ekleme) işlemleri için InsertCommand, delete (silme) işlemleri için DeleteCommand ve update (güncelleme) işlemleri için UpdateCommand adı verilen 4 farklı Command vardır. Bu command’lar belirli işlemleri yapmak için özelleşmişlerdir.
DataSet Mimarisi
Bir dataset’i kodlarken;
Öncelikle DataSet class’ının bulunduğu System.Data isim alanına giriş yapılmalıdır. Bu isim alanı altında, DataSet, DataTable, DataColumn, DataRow yani provider’dan bağımsız, temel ADO.NET bileşenleri yer almaktadır.
Peki bu DataSet herhangi bir veri kaynağından gelen verilerle nasıl doldurulur?
Öncelikle SqlConnection ardından SqlDataAdapter ve onun SelectCommand’ı, oluşturulmalı ve tabii ki bu command’ın CommandText’i yazılmalıdır. Aslında sadece bunların oluşturulması yeterli olacaktır. Sonrasında, SqlDataAdapter’in Fill() metoduna, içine verilerin doldurulması istenen, DataTable nesnesini ya da DataSet nesnesini parametre olarak vermek, verilerin veritabanından uygulamaya taşınması için yeterli olacaktır.