Archive for June 6th, 2007

Çoğu zaman veritabani bağlantılarında connection string özelliğini dinamik olarak oluşturmamız gerekmektedir. Bunun için de string birleştirmeler kullanırız. Benzer şekilde de bir connection stringden bazen server, userId gibi bilgileri parçalayarak elde ederiz. Ancak hepimizin bildiği gibi connection stringler yazılırken farklı formatlarda yazılabilirler ve bu da örneğin bağlanılan database bilgisi yerine baska bir bilgi almamıza neden olurlar. İşte tüm bunların önüne geçmek için .NET 2.0 ile gelen bir sınıf var: SqlConnectionStringBuilder 

SqlConnectionStringBuilder ile çok kolay bir şekilde connection stringler oluşturabiliyoruz; mevcut connection stringler üzerinden de işlemler yapabiliyoruz. SqlConnectionStringBuilder’ın iki tane constructorı vardır ve birisi connection string parameteresi alır.   

Başlıca kullanacağımız özellikleri şunlardır: 

ConnectionString = ConnectionString bilgisini tutar.

DataSource = Bağlanılacam olan ana bilgisayar (server) bilgisini tutar.

InitialCatalog = Ana bilgisayardaki bağlanılacak veritabanı bilgisini tutar.

IntegratedSecurity = Windows güvenliğini kullanarak mı yoksa Sql doğrulama ile mi bağlanacağını belirtir. Default değeri False’dur.

UserID = SQL doğrulama ile bağlanılacak kullanıcı adını tutar.

Password = SQL doğrulama ile bağlanılacak kullanıcının şifresini tutar. 

Sınıfın tüm metodları ve özellikleri için bakınız. 

 Basit olarak aşağıdaki gibi Connection Stringi oluşturabiliyoruz.  

SqlConnectionStringBuilder sqlString =

      new SqlConnectionStringBuilder();

sqlString.DataSource = “(local)”;

sqlString.InitialCatalog = “Northwind”;

sqlString.UserID = “sa”;

sqlString.Password = “123″; 

SqlConnection con =

      new SqlConnection(sqlString.ConnectionString);

Benzer şekilde elimizdeki bir connection string üzerinde de işlem yapmamız gerekebilir. Aşağıdaki örnekte sql doğrulama ile bağlantı sağlayabilecek bir connection stringin windows doğrulama sağlayacak hale nasıl getirildiğini görüyoruz.  

string conString = “Sever=(local);User ID=sa;Password=123;Database=Northwind”;

SqlConnectionStringBuilder sqlString =

new SqlConnectionStringBuilder(conString);

sqlString.Remove(“User ID”);

sqlString.Remove(“Password”);

sqlString.IntegratedSecurity = true; 

SqlConnection con =

    new SqlConnection(sqlString.ConnectionString);

VB.NET 2.0 ile gelen My Namespace bize birçok işi kolay yoldan yapmamızı sağlıyor. Aşağıdaki şekilde My Namespace içindeki sınıfları görüyoruz. Her bir sınıfla bilgisayarımız, uygulamamız hakkında çeşitli bilgiler alıyor ve bir takım işleri çok kolay bir şekilde yapıyoruz. Detaylı bilgi için bakınız.


Ancak Visual Basic’e ait bu namespace C# ortamında doğrudan yer almamaktadır. Tabi bu da C#’da kullanamayacağımız anlamına gelmiyor. Bunun için öncelikle yeni bir C# projesi açıyoruz ve Microsoft.VisualBasic.dll dosyasını referans olarak ekliyoruz: 

Hangi sınıfları projemizde kullanacağımız bulmak için object browserda VisualBasic.DLL assembly’sini inceliyoruz.

Böylelikle projemize ekleyebileceğimiz sınıfları buluyoruz: (İhtiyacınız olmayanı eklemeyebilirsiniz.)

using Microsoft.VisualBasic.ApplicationServices; using Microsoft.VisualBasic.Devices;

Sonrada istediğimiz sınıftan bir instance türeterek istediğimiz işlemleri yapabiliyoruz: