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
Category: Csharp - C# - 2 comments »






March 1st, 2009 at 10:44 pm
Thank you!
March 5th, 2009 at 3:41 am
you are welcome :)