4 Şubat 2014 Salı

C# ile SQL connection oluşturma işlemi

Merhaba arkadaşlar, bu yazımızda c# ile veritabanı işlemleri yaparken (kayıt ekleme, silme, düzenleme gibi) ilk olarak yapmamız gereken işlemi yani sql bağlantısı oluşturmayı, bağlantıyı açıp kapamayı ve otomatik olarak connection string oluşturmayı göstereceğim.



C# programlama diliyle bir proje yapıyorsunuz ve kayıtlarınızı MS SQL veritabanında tutuyorsunuz. SQL connection stringi oluşturmak çok kolay bir adım olsa da kimi zaman uğraştırıcı ve zaman kaybettirici olabiliyor. Çünkü kullanılan veritabanının MSSQL veya SQLEXPRESS olması bile stringin değişmesine neden olabiliyor. Bunun için basit bir fonksiyon yazıp, hemen her koşulda sql bağlantısını oluşturmamızı sağlayacak kodları yazacağız.

MSSQL işlemlerini yapmamız için projemizde özel bir class olması işlemleri kolaylıkla yapmamızı sağlayacak, gereksiz kod kalabalığını önleyecek ve ekleme, silme, düzenleme gibi tekrar tekrar kullanacağımız fonksiyonları tek bir kerede yazarak gereksiz program genişlemesini engelleyecektir. Bunun için ilk olarak projemize bir class ekleyelim. Visual Studio penceresinin sağ tarafında bulunan Solution Explorer penceresi üzerinde bulunan projemizin üzerinde sağ tuşa tıklıyoruz. Ardından ADD bölümüne ve en altta bulunan Class yazısına tıklıyoruz.

Adsız

 

Çıkan pencerede classımıza bir isim verip OK tuşuna basıyoruz. Ben isim olarak SqlOps.cs belirledim. Tamam dedikten sonra classımız oluşturulmuş oluyor. Fonksiyonlarımızı "class SqlOps" yazan bölümün içine yazacağız.

1.Adım: Makine ismi

Connection String'imizin içerisine makine adını yazmamız gerekiyor. Makine ismi connection string içinde Data Source="makine_ismi" şeklinde yazılır. Makine ismi her bilgisayarda farklılık gösterdiği için bunu sistemin otomatik olarak öğrenip stringimizin içine yazmasını sağlayabiliriz. Makine ismini bulup bir string değişkeninde tanımlayalım.
string mac_name = System.Environment.MachineName;

2. Adım: Connection oluşturma

Makine ismini bir stringin içine kaydettik. Connection Stringi oluşturma işlemini bağlantı açma işlemi sırasında kullanacağız. Fakat ilk olarak sql bağlantısı kurmamız gerekiyor. Bunun için;
SqlConnection Connect = new SqlConnection();

Connect ismiyle yeni bir SqlConnection oluşturduk. Şimdi bu bağlantının açma, kapama ve formlarda kullanılması için gerekli kodları yazalım.

3.Adım: Oluşturduğumuz bağlantıyı formlarda kullanabilmek için çağırma fonksiyonu oluşturma

Bu adımda, bağlantımızı projemizde herhangi bir formun içinde çağırabilmek için gerekli fonksiyonu oluşturacağız. Bunun için sqlconnection tipinde bir fonksiyon oluşturup, connect objemizi return etmemiz yeterli.
public SqlConnection GetConnection()
{
return Connect;
}

4. Adım: Bağlantı açma fonksiyonu - Open

Open fonksiyonunda ilk olarak yapacağımız şey connect objemizin zaten açık olup olmadığını kontrol etmek. Bağlantı zaten açıksa yapmamız gereken bir şey yok, fakat kapalıysa açma işlemi için connection stringi oluşturup bağlantıyı çalıştırmamız gerekiyor. Bunun için oluşturacağımız open fonksiyonu aşağıdaki gibidir:
public void Open()      // Opens the connection
{
if (Connect.State == System.Data.ConnectionState.Closed)
{
string conn = "Data Source=" + mac_name + ";Initial Catalog=SurucuKursu;Integrated Security=SSPI;";
Connect = new SqlConnection(conn);
try
{
Connect.Open(); // If SQLEXPRESS is installed
}
catch (Exception)
{
conn = "Data Source=" + mac_name + "\\SQLEXPRESS;Initial Catalog=SurucuKursu;Integrated Security=SSPI;";
Connect = new SqlConnection(conn);
Connect.Open(); // If MSSQLSERVER is installed
}
}
}

Kodda da görebildiğimiz üzere connection string oluştururken makine ismi önceden oluşturduğumuz mac_name değişkeninden gelmektedir. Connection stringde yer alan ve üzerinde durulması gereken başka bir şey de Initial Catalog kısmı. Initial Catalog SQL serverda işlem yapacağımız veritabanının ismi. Projemde SurucuKursu veritabanı üzerinde işlem yapıyorum.

Fonksiyonda kullanılan try catch sistemde MSSQL veya SQLEXPRESS kurulu olması durumunda hangisi kuruluysa connection string ona göre değişeceği için kontrolünün yapılmasını ve stringi ona göre oluşturmamızı sağlıyor. Bu sayede bilgisayarımızda hangi versiyon kurulu olursa olsun bağlantımız başarılı bir şekilde oluşturuluyor.

5. Adım: Bağlantı kapama fonksiyonu - Close

Kapatma fonksiyonunda yapılacak işlem çok basit. Bağlantı açıksa kapatmak. Bunun için:
public void Close()     // Closes the connection
{
if (Connect.State == System.Data.ConnectionState.Open)
{
Connect.Close();
}
}

Son olarak şu ana kadar yazdığımız kodları bir arada gösterelim.

Adsız

SqlOps.cs classımızda artık bağlantı oluşturmak için gerekli connection string oluşturma işlemi, bağlantının çağrılabilmesi için ve bağlantı açma kapama işlemlerinin yapılabilmesi için gerekli fonksiyonları oluşturduk. Bundan sonra tek yapmamız gereken sql işlemlerini kullanacağımız formun kod bölümünde SqlOps classımızdan bir obje oluşturarak o objenin fonksiyonlarını kullanmak. Örneğin;
SqlOps Sql = new SqlOps();  // Objemizi oluşturduk.

SqlConnection Connect = Sql.GetConnection(); // Connection oluşturduk.

Connect.Open(); // Bağlantıyı açtık.

Connect.Close(); // Bağlantıyı kapattık.

 

Share

& Comment

0 yorum:

Yorum Gönder

 

Copyright © 2015 Papiculo !™ is a registered trademark.

Designed by Templateism. Hosted on Blogger Platform.