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
25.05.2014 16:50:05

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ş
25.05.2014 18:19:52

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
16.05.2015 04:20:10

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

hikmet okumuş makale yorum
fikret
15.12.2015 23:09:11

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

hikmet okumuş makale yorum
Hikmet Okumuş
16.12.2015 13:14:22

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.
19.07.2016 22:19:34

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ş
20.07.2016 16:32:40

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
22.08.2018 00:08:14

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

hikmet okumuş makale yorum
ilhan dilek
6.10.2019 23:37:00

Hocam aciliyeti olan bir sorum var , Sql server'dan veri çekerek Sql server içindeki bir tablonun içindeki sütun hücre değerlerini değiştiren bir program geliştirdim. Fakat bu program sadece benim bilgisayarımda çalışıyor. yani bunu baska bilgisayarlara aldığımız zaman anladığım kadarıyla DataSource= String Adresi 'ni güncellemem gerekiyor. Bunu program kodlarının içine girmeden oluşturmuş olduğum uygulamaya bir textbox ve bir buton ekleyerek " Connection " yapmak istiyorum. Textbox'a bağlandığım bilgisayarın string adresini yazınca connection dediğimde değişiklik yapmasını ve program kodlarında yazılan bağlantıya göre string almasını istiyorum. Kullanılan Sql tabloları ve Sql database'i ortak olacak zaten. Yardımınıza ve tavsiyerlerinize acil ihtiyacım var. Lütfen Mail olarak geri bildirim yapınız. İyi ÇAlışmalar dilerim



Yorum Ekle