Proje oluştururken, bazen verilerin XML‘e dökülmüş hali gerekebiliyor. Bu sebeple sizlere veritabanından XML’e veri çekme konusundan bahsedeceğim. Ben MySql kullandım fakat başka bir veri tabanı için de durum pek değişmeyecektir. Örnek bir uygulama ile bu konuyu anlatacağım. Öncelikle veri tabanındaki verilerden kısaca bahsedeyim. Veri tabanımızda “TblSehirler” adında, şehir isimlerinin bulunduğu bir tablomuz mevcut. Bunun yanı sıra “TblProjeler” adında, şehirlerde oluşturulan AVM, apartman, hastane ve okul projeleri bulunmakta. Bizim amacımız ise bu verileri, her bir şehirde oluşturulan proje sayılarını, proje türlerine göre bir araya getirip XML dökümanı oluşturmak.
XML MySql için aşağıdaki kütüphaneleri ekliyoruz:
using System.Xml;
MySqlConnection baglanti = new MySqlConnection(“Server= localhost; Database=DenemeDB; Uid=root; Pwd=12345”);
baglanti.Open();//Veri tabanındaki şehirler tablomuzdan şehir adlarını çekerek bir diziye atıyoruz.
MySqlCommand SehirlerCmd= new MySqlCommand(“select SehirAdi from DenemeDB.TblSehirler”, baglanti);
MySqlDataReader SehirlerDr= SehirlerCmd.ExecuteReader();
while (SehirlerDr.Read())
{
Sehirler.Add(SehirlerDr[“SehirAdi”].ToString());
}
SehirlerDr.Close();
string[] sehirler= Sehirler.ToArray();
writer.Formatting = Formatting.Indented;
writer.Indentation = 2;
writer.WriteStartElement(“VeriSeti”);//Her bir şehir için proje türlerine göre proje sayılarını veri tabanından çekiyoruz.
for (int i = 0; i < sehirler.Length; i++)
{
MySqlCommand ToplamAVMCmd= new MySqlCommand(“select count(projeID) from DenemeDB.TblProjeler p, DenemeDB.sehirler s where p.ProjeTuru = “AVM” and p.sehirID=s.sehirID and s.SehirAdi=” + “‘” + sehirler[i] + “‘”, baglanti);
string ToplamAVM = ToplamAVMDr[0].ToString();
ToplamAVMDr.Close();
string ToplamApartman = ToplamApartmanDr[0].ToString();
ToplamApartmanDr.Close();
while (ToplamHastaneDr.Read())
string ToplamHastane = ToplamHastaneDr[0].ToString();
ToplamHastaneDr.Close();MySqlDataReader ToplamOkulDr = TopalmOkulCmd.ExecuteReader();
while (ToplamOkulDr.Read())
string ToplamOkul = ToplamOkulDr[0].ToString();
ToplamOkulDr.Close();//Veri tabanından çektiğimiz verileri createNode adlı fonksiyonumuza gönderiyrouz.
createNode(sehirler[i], ToplamAVM, ToplamApartman, ToplamHastane, ToplamOkul, writer);
}//Writer nesnemizi kapatıyoruz.
writer.WriteEndDocument();
writer.Close();
Application.Exit();
//XML tablomuz için node oluşturuyoruz.
myWriter.WriteStartElement(“Tablo”);
myWriter.WriteString(sehirAdi);
myWriter.WriteEndElement();myWriter.WriteStartElement(“AVM Sayısı”);
myWriter.WriteString(toplamAVM);
myWriter.WriteEndElement();myWriter.WriteStartElement(“Apartman Sayısı”);
myWriter.WriteString(toplamApartman);
myWriter.WriteEndElement();myWriter.WriteStartElement(“Hastane Sayısı”);
myWriter.WriteString(toplamHastane);
myWriter.WriteEndElement();myWriter.WriteStartElement(“Okul Sayısı”);
myWriter.WriteString(toplamOkul);
myWriter.WriteEndElement();myWriter.WriteEndElement();
}
bu yöntemle sitemap ve feed besleme sayfaları rahatlıkla oluşturabiliriz. çok teşekkürler hocam.
tam aradığım sistm
çok güzel bir uygulama çok iyi düşünülmüş teşekkürler.
Tam aradığım sistem, çok işime yarayacak, paylaşım için teşekkürler.
Verdiğiniz bilgilerle MySQL veri tabanından XML’e veri çekme işlemini kolaylıkla yapabiliyorum. Ayrıca bir sorum olacak: çok büyüt boyutlu (500 mb üstü) sql dosyalarını indirirken sorun yaşanıyor. Tam olarak yedek alabilmek için bir tavsiyeniz var mıdır? Teşekkürler.
Bu site çok işime yaradı varol bolubeyi.net 🙂
teşekkürler, tamda bunu arıyordum. çok işime yaradı.
sitemin sürekli yedeğini alıyorum hem xml hemde sql yararlı oldu teşekkürler.
Gerçekten çok yararlı bir paylaşım olmuş. Arşivime aldım bu bilgileri. Teşekkürler 🙂
anlatımınızı kaydettim ilerde mutlaka lazım olur sorun çıkıyo genelde 🙂
Bilgiler arşivime alınmıştır yararlı ve faydalı bir konu teşekkürler bolubeyi.
Zor bir iş bakalım öğrenmeye çalışacağız.
Merhaba ben xml ve sql’e yeni başladım. Pek bir bilgim yok mysql yerine sql server kullansam neler değişir?
Merhaba, sadece mysql bağlantı nesneleri yerine mssql bağlantı nesneleri kullanmanız yeterlidir. Blogumda arama yaparsanız mssql bağlantı kurmayı bulabilirsiniz.
Güzel bir anlatım olmuş Bilgiler tarafımca arşive alınmıştır. teşekkürler bolubeyi.
Şuan üzerinde çalıştığım proje için aradığım bir konu idi çok teşekkür ederim hemen deneyeceğim bakalım olacakmı.
Hocam peki boyutu büyük yani gb değerlernde olan sql tablolarını nasıl import etmeliyiz ?
Uzun zamandır int le ilgileniyorum şu olayı hala daha çözemedim. Birde burdaki makaleyi incelicem uzun uzun bakalım kavrayabilicekmiyim..
Şuan üzerinde çalıştığım proje için aradığım bir konu idi çok teşekkür ederim hemen deneyeceğim bakalım olacakmı.
yeni projemde sizin bahsettiğiniz kodları kullanacağım tşkler
peki exel formatından .mdb formatına nasıl çeviririz?
XML veri çekme işlemlerinde özellikle araştırmalar yapıyordum. Yukarıdaki çalışmaları uyguladım ve gerçekten başarı elde ettim, teşekkür ediyorum.
xml dönüştüğünde flash sitelerde işe yarıyor mükemmel bence
teşekkürler hocam, bizim için faydalı bir bilgi olmuş, başarılarının devamını dilerim.
Teşekkürler aradığım şeyi buldum sizin sayenizde projem için çok acil gerekiyordu. Emeğinize sağlık
Pratik bir yöntem ile olayı özetlemişsiniz teşekkürler.
BoluBeyi eline sağlık şahsen aradığım bilgilerden biriydi.
Daha önceden başımı fazlasıyla ağrıtan bir sistemdi, paylaşım için teşekkürler.
Çok yararlı bilgiler, derleyen ve emeğe geçen herkese teşekkürler. Yeni paylaşımları takip ediyor ve bekliyoruz.
merhaba çok yararlı bir makale olmuş. Benim elimde özel yazılım bir site var kendi sql tabanın da 5000 e yakın kayıt var siteyi wordpress e taşımak istiyorum sizce bu yardımcı olur mu?
KadinDogumDoktor.com
TEbrikler, içinde faydalı bilgiler var. Sql ve xml e alakası olanlar için iyi bir çalışma olmuş
yeni projem için bunu arıyordum ve sonunda buldum, bilgi için teşekkürler
Yine bolu beyine yakışır bir paylaşım olmuş teşekkürler
Teşekkür ederim bolu beyi güzel işe yarar makale
Sürekli takipçinizim paylaşımlarınız son derecede önemli teşekkürler