ADO.Net DbProviderFactory

Ado.Net’i veritabanından bağımsız kullanmak için DbProviderFactory classını kullanabiliriz.

web.config‘e provider adını, connection string’i tanımladığımızda bağlanacağımız veritabanı yer olarak da provider olarak da uygulamanın dışına çıkmış oluyor…

hadi oracle‘a taşıyalım, yok olmadı şimdi mysql yapcaz, gene olmadı sql server olsun istekleri karşılanabilir oluyor :P
bu son satırlar komik oldu :)

// bu değerlerin web.configden geldiğini düşünelim        
const string factory = "System.Data.SqlClient";
const string cnnStr = @"Data Source=192.168.1.111;
                               Initial Catalog=myDB;
                               User ID=sa;Pwd=abcd.1234;";
const string cmdStr = "SELECT * FROM tblUsers";
//query yerine stored procedure kullanırsak 
//uygulamayı doğal olarak parametrik hale getirmiş oluyoruz
//web.config'de de bir sürü query olmamış oluyor.
 
DbProviderFactory myFactory = DbProviderFactories.GetFactory(factory);
 
DbConnection cnn = myFactory.CreateConnection();
cnn.ConnectionString = cnnStr;
 
DbCommand cmd = myFactory.CreateCommand();
cmd.CommandText = cmdStr;
cmd.Connection = cnn;
 
cnn.Open();
DbDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
    Response.Write(string.Format("{0}<br/>", rdr[0]));
}
cnn.Close();

kaynak
aPress pro asp.net c# 2008 kitabı
david hayden
msdn

Be Sociable, Share!

Category: Csharp - C# - 2 comments »

2 Responses to “ADO.Net DbProviderFactory”

  1. loajobbow

    Thank you!

  2. serdar

    you are welcome :)


Leave a Reply



Back to top