C# İle SqlConnection Kullanımı


22 Ekim 2012 Hikmet Okumuş C#

Sql veritabanına bağlantı kurmak için kullanılacak olduğumuz sınıftır. System.Data.SqlClient namespace' i içerisinde yer almaktadır. Kısa kullanım için using ile namespace' i programımıza eklememiz gerekmektedir.
using System.Data.SqlClient;
Namespace' i ekledikten sonra SqlConnection nesnesinden bir tane türetelim.
SqlConnection Baglanti = new SqlConnection();
SqlConnection sınıfının bir adet constructor metodu bulunmaktadır. Bu metod ile türetme aşamasında bağlantı cümlesini belirtebiliriz.
            string BaglantiAdresi = "Server=.;Database=Hokumus;User Id=sa;Password=123456;";
            SqlConnection Baglanti = new SqlConnection(BaglantiAdresi);
Eğer ilk yöntem ile türetme işlemi yapılırsa bağlantı cümlesi ConnectionString özelliğine setlenmektedir.
            string BaglantiAdresi = "Server=.;Database=Hokumus;User Id=sa;Password=123456;";
            SqlConnection Baglanti = new SqlConnection();
            Baglanti.ConnectionString = BaglantiAdresi;
Bağlantı cümlesini yazdıktan sonra veritabanı bağlantısını açmak için Baglanti nesnemizin Open(); metodu kullanılacaktır ve bu şekilde bağlantı açılacaktır.
            string BaglantiAdresi = "Server=.;Database=Hokumus;User Id=sa;Password=123456;";
            SqlConnection Baglanti = new SqlConnection();
            Baglanti.ConnectionString = BaglantiAdresi;
            Baglanti.Open();
Eğer BaglantiAdresi içerisinde yazan bilgiler doğru ise bağlantı gerçekleşecektir. Hatalı ise ConnectionTimeout süresi dolduğunda bağlantı hatası verecektir. ConnectionTimeout' un varsayılan değeri 15 saniyedir. Baglanti nesnesi içerisinde bulunan ConnectionTimeout özelliği sadece okunabilir bir alandır. Set edilemez. Bağlantı cümlesi içerisinde belirtilmesi gerekmektedir.
                string BaglantiAdresi = "Server=.;Database=Hokumus;User Id=sa;Password=123456; connection timeout=30;";
                SqlConnection Baglanti = new SqlConnection();
                Baglanti.ConnectionString = BaglantiAdresi;
                Baglanti.Open();
Bu şekilde timeout süresini 30 saniye olarak setlemiş olduk. Timeout süresi olarak 0 değeri atanırsa bağlantı süresi sınırı kalkacaktır.
Açılan bağlantıyı kapatmak için Baglanti nesnemizin Close(); metodu kullanılacaktır.
                stringBaglantiAdresi = "Server=.;Database=Hokumus;User Id=sa;Password=123456; connection timeout=30;";
                SqlConnection Baglanti = new SqlConnection();
                Baglanti.ConnectionString = BaglantiAdresi;
                Baglanti.Open();
                MessageBox.Show("Bağlantı Açıldı.");
                Baglanti.Close();
                MessageBox.Show("Bağlantı Kapandı.");
Bu şekilde bağlantımızı açtık ve kapattık. Genel olarak bu bilgiler ile bir veritabanına bağlantı kurulabilmektedir.

Başarılar dilerim.



Kullanıcı Yorumları

hikmet okumuş makale yorum
Cagatay Sarp Aksu
5/25/2014 4:50:05 PM

Merhaba ben domain adresime bağlı bir database den veri almak istiyorum fakat bağlantı sağlayamıyorum. Yardım eder misiniz?

hikmet okumuş makale yorum
Hikmet Okumuş
5/25/2014 6:19:52 PM

Selamlar,

Aşağıdaki bağlantı cümlesinde ilgili alanları kendine göre revize ederek deneyebilirsin.

"Data Source=ServerIP;Initial Catalog=Database;Persist Security Info=True;User ID=User;Password=Password";

hikmet okumuş makale yorum
Selçuk Dursun Hepsoy
5/16/2015 4:20:10 AM

Çok teşekkürler, güzel anlaşılır bir şekilde yazmışsınız.

hikmet okumuş makale yorum
fikret
12/15/2015 11:09:11 PM

bu bağlantı adresinden kastınız nedir acaba ? bilmedigim için yapamıyorum

hikmet okumuş makale yorum
Hikmet Okumuş
12/16/2015 1:14:22 PM

Merhaba Fikret,

SqlConnection nesnesi, SQL veritabanına bağlantı kurmanı sağlamaktadır. Bu bağlantı için bir connection string bilgisine ihtiyaç duyulmaktadır. Connection string içerisinde SQL veritabanına ulaşacağın IP, bağlantı yapacağın veritabanı adı, kullanıcı adı, şifre vb. bilgileri barındırır. Bağlantı cümlesinden kasıt budur. Aşağıdaki siteden veritabanlarının bağlantı bilgilerini öğrenebilirsin.

http://www.connectionstrings.com/

hikmet okumuş makale yorum
Kerem W.
7/19/2016 10:19:34 PM

Hakikaten çok güzel bir site olmuş bütün makaleleri okumaya çalıştım, bence yazmaya devam et bana(bizlere) faydası çok büyük. Teşekkürler..

hikmet okumuş makale yorum
Hikmet Okumuş
7/20/2016 4:32:40 PM

Merhaba Kerem,

Değerli yorumların için teşekkür ederim. Fırsat buldukça yeni makaleler yazmaya devam edeceğim.

hikmet okumuş makale yorum
mustafa199804
8/22/2018 12:08:14 AM

System.Data.SqlClient.SqlException: 'Sunucuyla bağlantı kurulurken ağ ile ilgili veya örneğe özel bir hata oluştu. Sunucu bulunamadı veya sunucuya erişilemiyor. Örnek adının doğru olduğunu ve SQL Server'ın uzak bağlantılara izin verdiğini doğrulayın. (provider: SQL Network Interfaces, error: 26 - Belirtilen 

böyle bir hata alıyorum ne yapmalıyım



Yorum Ekle