SqlConnectionStringBuilder class'ının kullanımı

Serhat tarafından yazılmıştır. 15. Aralık 2008 13:51

Veritabanı kullandığımız uygulamalarda oldukça kolaylık sağlayan SqlConnectionStringBuilder sınıfından bahsedeceğiz.Bazı zamanlarda ConnectionString'imizden kullanıcı adını veya şifremizi çekmek için çeşitli parçalama işlemleri yaparak zahmetli işlerle uğraşıyoruz.Ama SqlConnectionStringBuilder sınıfını kullanarak gerekli olan veritabanı bilgilerini properytlerine set ederek hızlı bir biçimde connectionstring oluşturabiliriz.

Örneğimizde bir consol uygulaması yazalım ve  SqlConnectionStringBuilder nesnesini kullanarak connection bilgilerimizi belirledikten sonra veritabanımızdaki 3 tablodan bilgileri alıp tablo bilgileri altında da oluşturmuş olduğumuz builder  nesnemizin propertilerini kullanarak ulaşmaya çalışalım.Uygulamanın çalışır hali aşağıdaki gibidir.

SqlConnectionStringBuilder

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace Ornek1
{
    class Program
    {
        static void Main(string[] args)
        {
            //Veritabanına atacağımız sorguyu belirliyoruz.
            string query = "Select * from MotorTablo";

            //ConnectionString oluşturmak için SqlConnectionStringBuilder sınıfından builder adında nesneyi örnekliyoruz.
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

            //Oluşturduğumuz builder nesnesinin propertilerine normal connection string oluşturmada girdiğimiz değerleri belirtiyoruz.Bu bağlantı WINDOWS AUTHENTICATION için oluşturulmuştur.
            builder.DataSource = "localhost";
            builder.InitialCatalog = "Motosiklet";
            builder.IntegratedSecurity = true;

            //Daha sonra SqlConnection oluşturmak için bir connection string gerektiğinden builder nesnemizin ConnectionString propertisi bize otomatik olarak connection string oluşturarak işlem yapmamızı sağlar.
            SqlConnection con = new SqlConnection(builder.ConnectionString);
           
            //Veri sorgulamak için cmd nesnesini yaratıp CommandText propertsine istediğimiz sorgu cümlesini veriyoruz , command connectionuna ise yukarıda builder nesnemizin connectionstrigini vermiş olduğumuz con adındaki nesmezi vererek bağlantımızı tamamlanıyor.
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = query;
            cmd.Connection = con;

            //Bağlantı açılıyor
            con.Open();

            //SqlDataReader ile cmd'imiz çalıştıroyur ve satır satır okuyoruz.
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                string deger = String.Format("ID: {0} - MARKA: {1,-10} MODEL: {2,10}",dr[0].ToString(),dr[1].ToString(),dr[2].ToString());
                Console.WriteLine(deger);
            }

            //Aşağıda ise otomatik olarak oluşan connection stringimizin istenildiğinde kolayca propertilerindeki değerlerin okunduğunu görüyoruz.
            Console.WriteLine("----------------");
            Console.WriteLine("Connection String : " + builder.ConnectionString);
            Console.WriteLine("Veri kaynağı : " + builder.DataSource);
            Console.WriteLine("Database adı : " + builder.InitialCatalog);
            Console.WriteLine("SQL & Windows AUTHENTICATION durumu : " + builder.IntegratedSecurity);
           
            //SqlDataReader nesnemizi biz açmayız otomatik olarak kendisi açar.Ama işlemimiz bittiğinde connectionumuz ile onuda kapatmalıyız.
            dr.Close();
            con.Close();
            Console.ReadLine();
        }
    }
}

Örneğimizde WINDOWS AUTHENTICATION kullanarak bağlanmıştık . SQL AUTHENTICATION olarak bağlanmak isteseydik builder nesnemize aşağıdaki değerleri verecektik.

            builder.DataSource = "localhost";
            builder.InitialCatalog = "Motosiklet";
            builder.IntegratedSecurity = false;
            builder.UserID = "Serhat";
            builder.Password = "1841219711";

Örneği indirmek için

SqlConnectionStringBuilde'ın üyeleri (Methods,Properties vs.)

İyi çalışmalar herkese :)

Serhat TAŞ

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

ADO.NET

Yorumlar

Yorum ekle


(Gravatar simgesini gösterecek)  

biuquote
  • Yorum
  • Canlı önizleme
Loading



Powered by BlogEngine.NET 1.4.5.0
Bu tema Mads Kristensen tarafından yapılmıştır ve Türkçeleştirilmesi Blog Engine Türkiye ekibi tarafından yapılmıştır.

Son Yorumlar

Comment RSS

Yasal Uyarı

Bu sitede sunulan tüm bilgi ve dökümanların kullanımından ve sitede yapılan kullanıcı yorumlarından (siyasi içerik,hakaret vb.) doğacak sorunlardan yazar sorumlu tutulamaz. 

İçeriğin kaynak belirtilmeden kopyalanması yasaktır !

SERHAT TAŞ

© Copyright 2010