12 Oca 2007 Microsoft Data Access Application Block Kategori: ADO.NET Etiketler: ADO.NETMicrosoft 1 Yorum Merhaba arkadaşlar bu makalemizde Microsoftun geliştirmiş olduğu Microsoft Data Access Application Block üzerinde duracağız. Giris .Net Framework, veritabanı ile çalısmak için yazılım gelistiricelere ADO.NET'i sundu. ADO.NET bize veriyi görüntülemek ve veri üzerinde islemler yapmamızı saglar. Veritabnındaki bazı bilgilere erismek ve uygulama üzerinde bazı parametreleri kullanabilecegini göz önünde bulunduralım. Bu islemi 6-7 satır kod yazarak kolayca yapabiliriz. Fakat, 5-6 satır kodu tekrar tekrar yazmak zorunda kaldıgımızda bu islemi yapmak kolay olmayacaktır. Microsoft bunun için, Daha az kod ile ortak isleri yapmak için kullanılabilen Data Access Application Block'u gelistirdi. Data Access Application Block'u asagıdaki adresten indirebilirsiniz. http://msdn2.microsoft.com/en-us/library/ms954827.aspx Microsoft .net Data Access Application Block Nasıl Kullanılır ? Ilk olarak Data Access Application Block Version 2.0.(Daha eski/yeni versionda olabilir) indirip kuralım. Ilk olarak the Microsoft .net Data Access Application Block projesi için .dll dosyası olusturacagız. Projeyi build ettikten sonra kendi projemize basitçe ekleyebiliriz. Kendi projemize ekledikten sonra bin klasörü içindeki .dll dosyasınıda build edelim. Data Access Application Block olmadan Dataya Erismek Ilk olarak Application olmadan veriye nasıl erisildigine bakacagız. Asagıda veritabanına 2 parametre ekleyen basit bir örnek yapacagız. string connectionString = (string) ConfigurationSettings.AppSettings["ConnectionString"]; SqlConnection connection = new SqlConnection(connectionString); SqlCommand command = new SqlCommand("INSERT_MUSTERI",connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add(new SqlParameter("@Name",SqlDbType.NVarChar,50)); command.Parameters["@Name"].Value = txtName.Text; command.Parameters.Add(new SqlParameter("@Surname",SqlDbType.NVarChar,10)); command.Parameters["@Surname "].Value = txt Surname.Text; connection.Open(); command.ExecuteNonQuery(); connection.Close(); Görüldügü gibi veritabanına parametre eklemeye çalıstıgımızda 6-7 satır kod ile isimizi tamamladık. Fakat 10 yada daha fazla parametre eklemeye çalıstıgımızda gelistirme zamanı bir hayli uzayacaktı. Simdi aynı islemi Microsoft .net Data Access Application Block kullanarak yapalım. using Microsoft.ApplicationBlocks.Data; SqlHelper.ExecuteNonQuery(connection,"INSERT_MUSTERI",new SqlParameter("@Name",txtName.Text) ,new SqlParameter("@Surname",txt Surname.Text) ); Gördügünüz gibi 5-6 satır kod yazmak yerine isimizi tek satırda tamamladık. Bu islemi SqlHelper classı ile yaptıgımız gördük. Peki bu SqlHelper nereden çıktı? Projemizin namespacelerine Microsoft.ApplicationBlocks.Data eklersek SqlHelper Classına erisebiliriz. SqlHelper Classı veritabanına erismek için static metodlar içeren ve Microsoft tarafından gelistirilen bir classdır. Her hangi bir text editörü ile SqlHelper Classını açabilir ve inceleyebilirsiniz. SqlHelper Class SqlHelper'in içindeki static metodlar; ExecuteNonQuery ExecuteDataSet ExecuteReader ExecuteScalar ExecuteXMLReader Evet artık örnegimize geçebiliriz. Ilk olarak bir Windows Application açalım. Simdi SqlHelper Classını projemize ekleyelim. (DLL olarak da ekleyebiliriz). Simdi projemizin namespacelerine ApplicationBlocks.Datayı ekleyelim. using Microsoft.ApplicationBlocks.Data; Ekledikten sonra formumuzun üzerine 1 adet buton ve bir gridview ekleyelim. Evet Simdi ExecuteDataseti çalıstıracak kodları yazalım. string sqlstring = "Select * from Musteriler"; dataGridView1.DataSource = SqlHelpera.ExecuteDataset("Data Source=localhost; Initial Catalog=SemGoksuDB; trusted_connection=yes", CommandType.Text, sqlstring).Tables[0]; Simdi projeemizi çalıstıralım. Projemizi çalıstırdıktan sonra kayıtlarımızı listeledik. Gördügünüz gibi çok kolay bir sekilde 1-2 satır ile isimizi yaptık. Bu makalenin de sonuna geldik, baska bir makalede görüsmek üzere basarı ve iyi günler dilerim. Sem GÖKSU MCP | MCAD.NET | MCTS Örnek Kodlar için mail adresimi kullanabilirsiniz semgoksu@semgoksu.com Kaynaklar http://msdn.microsoft.com