15 Temmuz 2014 Salı

VB.NET ile SQL veritabanı bağlantısı kurma

Leave a Comment
Bundan önce C# kullanarak Windows Form uygulamalarında ve Web Form uygulamalarında SQL bağlantısı kurma işlemini anlatmıştım. Bu yazımda da SQL veritabanına VB.net kullanarak bağlanma işlemini anlatacağım.

Bir web form oluşturuyorum. Formuma buton ve label ekliyorum. Butona tıklandığında SQL bağlantısını kurmaya çalışarak bağlantı sonucunu label içerisine yazdıracağım.

Butona çift tıklayarak .vb sayfasına gidiyorum ve sayfanın en üstüne SQL bağlantısı kurabilmek için gerekli olan kütüphaneleri ekliyorum.

Imports System.Data.Sql
Imports System.Data.SqlClient

Daha sonra butonun click eventının içine kodlarımı yazmaya başlıyorum.

İlk olarak bağlantı satırını oluşturuyorum.

Windows Authentication ile bağlanmak istiyorsanız aşağıdaki bağlantı satırını,

Persist Security Info=True;Initial Catalog=Veritabanı Adı;Data Source=PC-ADI\SQLEXPRESS;Packet Size=4096;Integrated Security=SSPI

Kullanıcı adı ve şifre ile bağlanmak istiyorsanız aşağıdaki bağlantı satırını kullanabilirsiniz.

Persist Security Info=True;User ID=Kullanıcı adı;Initial Catalog=Veritabanı adı;Data Source=Sunucu adresi;Packet Size=4096;Password=Şifre

Aşağıdaki gibi bağlantı satırımı oluşturuyorum.

Dim BaglantiSatiri As String = "Persist Security Info=True;Initial Catalog=DisciTest;Data Source=BERKAY-PC\SQLEXPRESS;Packet Size=4096;Integrated Security=SSPI"

Daha sonra SQL bağlantısı oluşturuyorum. Parametre olarak oluşturduğum bağlantı satırını ekliyorum.

Dim Baglanti As New SqlConnection(BaglantiSatiri)

Şimdi de C#'ta oldup-ğu gibi Try - Cache bloğu oluşturuyorum.

Try
    Baglanti.Open()
    Label1.Text = "Bağlantı başarılı."
Catch ex As Exception
    Label1.Text = "Hata !!!"
End Try

Sayfayı çalıştırıyorum ve butona tıklıyorum. Görüldüğü gibi bağlantım kuruldu.


Read More

SQL'de eklenen son kaydın ID değerini almak

1 comment
Bazı uygulamalarda veritabanına eklediğimiz kaydın ID'sini öğrenmemiz gerekebilir. Bunu kolayca yapabilmek için SCOPE_IDENTITY() fonksiyonunu kullanıyoruz.

Bu fonksiyonu kullanmadan son kaydın ID değerini almak için öncelikle kaydı eklememiz, ardından da eklediğimiz son kaydın ID değerini almamız gerekir. Ancak bu yöntemde, veriyi çekmeden önce başka bir kayıt atılırsa, son kayıt ve buna bağlı olarak da son ID değeri değişir. Bu durumda da yanlış ID değerini çekeriz.

SCOPE_IDENTITY fonksiyonunun kullanımı oldukça basit.

Elimizde aşağıdaki gibi bir tablo olsun.


Bu tabloya yeni bir kayıt atacağım ve attığım kaydın sehirID değerini alacağım.

İlk olarak INSERT sorgusunu atıyorum. Ardından da SELECT SCOPE_IDENTITY() kodunu ekliyorum. Sorguyu çalıştırdığımda son eklenen ID değerini görüntülüyorum.

Sorgu


Sonuç


Read More

12 Temmuz 2014 Cumartesi

Entity Framework nedir? Avantajları nelerdir?

1 comment
Bu yazıda Object Relational Mapping (ORM) kavramından ve en popüler ORM uygulamarından bir tanesi olan Entity Framework'ten bahsedeceğim.

Object Relational Mapping, veri tabanındaki tabloları sınıflara, kolonları propertylere, kayıtları ise nesnelere dönüştürerek, veri tabanındaki işlemleri daha basit biçimde gerçekleştirmeyi amaçlar. SQL kodları yazmak yerine işlemler nesneler üzerinden yapılabilir.

En popüler ORM uygulamalarından bir tanesi Microsoft tarafından geliştirilen Entity Framework'tür. Özellikle MVC projelerinde sıkça kullanılan ve CRUD fonksiyonlarını bir hayli basit hale indirgeyen Entity Framework'ü indirmek için http://msdn.microsoft.com/en-us/data/ee712906 adresini ziyaret edebilirsiniz.

Peki Entity Framework kullanmak ne gibi avantajlar sağlar?
  • Uzun veri tabanı sorguları yazmaya gerek kalmaz.
  • Nesne yönelimli kodlamaya (OOP) son derece uygundur.
  • Veri tabanı yönetim sistemleri arasında geçiş yapılması kolaydır. Örneğin MS-SQL olan veri tabanı MySQL'e rahatça taşınabilir.
Entity Framework içerisinde 4 farklı yöntem barındırır.
  1. Model First : Boş bir model dosyası oluşturulur. Veri tabanı bu model üzerine kurulur.
  2. Database First : Daha önceden oluşturulmuş olan veri tabanı Entity Framework'e bağlanır.
  3. Code First (Var olan veri tabanı) : Sınıflar ve mapping kodları yazılımcı tarafından oluşturulur. Daha sonra veri tabanı bu sınıflardan türetilir.
  4. Code First (Yeni veri tabanı) : Sınıflar ve mapping kodları yazılımcı tarafından oluşturulur. Veri tabanı, sınıfların ve modellemenin durumuna göre güncellenebilir.
Read More