Asp.NET-DataSet-DataReader_emresupcinMerhaba arkadaşlar,

Güzel bir pazar gününde daha birlikteyiz ancak hatırlatmak istemezdik ama uzun bir tatilin ardından Pazartesi de yaklaşıyor onu söyleyelim 🙂 Neyse işin esprisi bir yana biz yazılımcılar ve öğrenciler için eğitim, öğretim kutsaldır o yüzden halimize şükredelim. Makalemizi de kaynatmadan dersimize dönelim. Bu derste verilerimizi sayfamıza yazdırmak için kullandığımız iki yapıdan bahsedeceğiz.

 

 

Evet Dataset mi kullanırsınız, DataReader mı? Her ikisiyle de işimizi görürken işin performans kısmını gözardı edemeyiz. Ben de genelde DataSet kullanırım ama, işte büyük Web uygulamalarımızda esneklik, hız, hepsi çalışmalarımızı etkiliyor.

 

DataSet ve DataReader kullanmak oldukça yaygındır. DataReader sorgumuz çalıştığında istemiş olduğumuz veri bulunduğunda işlevini yerine getirir. Yani DataSet imizdeki gibi döngünün sonlanmasını beklemez. Buda çalışmalarımızın performansını haliyle artırmaktadır. Mesela hemen bir adet örnek data çağıralım ve farkı görelim.

 

1  SqlConnection conn = new SqlConnection(connectionString);
2    SqlDataAdapter da = new SqlDataAdapter
3      ("Select * From EmreSupcin;",conn);
4     DataSet ds = new DataSet();
5   da.Fill(ds);
6    foreach (DataRow dr in ds.Tables[0].Rows)
7    {
8   Console.WriteLine(dr[0].ToString());
9 }

 

Bakın DataSet’imiz doldurulana kadar herhangi bir veri yoklaması yapamadık. Yani işimize yaramayacak olan kayıtlarda gelmekte. Ya biz bu kayıtları kullanmak istemiyorsak? Neden hepsini dolduruyoruz ki o zaman. Şimdi aynı işlemi yeniden yapalım bakalım, bu kez sonuç nasıl olacak?

 

1  SqlConnection conn = new SqlConnection(connectionString);
2    SqlCommand comm = new SqlCommand("Select * From EmreSupcin", conn);
3   comm.Connection.Open();
4    SqlDataReader dr =  
5    comm.ExecuteReader(CommandBehavior.CloseConnection);
6 while(dr.Read())  
7  {
8    Console.WriteLine(dr.GetString(0));
9   }
10    dr.Close();
11  conn.Close();

 

Bakın, veri tabanına bağlandık sorgumuz çalıştı. İstemiş olduğumuz değere hemen ulaşıldı ve getirilip sonlandırıldı. Ayrıca DataReader bir sonucu belli bir zaman kullanıcı tarafında tutar. Bu tüketimi DataSet ile kıyasladığımızda ise bellekte daha az yer kapladığını görebiliriz. DataSet imizi nasıl DataReader gibi esnek kullanabiliriz.

 

Bunun için WriteXML metodu kullanabiliriz yada SOAP metodu ile işlem yaptırabiliriz. Yinede Web uygulamalarımızda DataReader’ın daha hızlı çalıştığını göreceğiz. Sonuçta her ikisiyle de aynı işi yapabildiğimize göre herhangi bir sorunumuz yok. Ne vakit proje büyüdü, veriler arttı, işte o zaman hangisini kullanayım tercihi ortaya çıkacaktır.

Yazar
Yazar
Bilgisayar Programcısı, Web Tasarımcı, Üniversite Öğrencisi...
Twitter Facebook Google Linkedin Flickr YouTube

Önceki Yazı:Bilgisayar Ağının Tarihçesi?

Sonraki Yazı:ASP.Net Nedir? Güçlü ve Zayıf Yanları Nelerdir?

YORUMLAR
SİZ DE CEVAP YAZABİLİRSİNİZ
Bu yazı hakkında görüşünüzü belirtin.

ES Web Tasarım Web Tasarım Blog Teması Emre Supçin Bu tema ES Web Tasarım tarafından düzenlenmiştir. Hiçbir şekilde kopyalanamaz.