İçeriğe geç

Datasetteki Verilerimiz Kalıcı Hale Getirmek

  Önceki makalemizde uygulamamızda dataseti bilgilerimizi tutmak için kullanmıştık fakat bildiğimiz üzere dataset bellek üzerindeki veritabanı olarak nitelendirdiğimiz geçici bilgi saklama yerimizdi. Cihazımızı kapattıktan sonra da eğer bilgilerimizin kaybolmasını istemiyor isek datasetteki verilerimizi ya bir veritabanına yada bir xml dosyasına yazmamız gerekmektedir.  Bu yazımızda önceki uygulamamızda birkaç değişiklik yaparak datasetteki verilerimizi bir xml dosyasına yazacağız.

  Dataset`in bize sağlamış olduğu WriteXml metodu ile kolayca bu yazma işlemini gerçekleştirebilyoruz. Bu yazma işleminde methoda ilk parametre olarak dosya adını belirtiyoruz. Tek parametre belirterek dosyamızı oluşturduğumuzda XML Schema bilgisi yazılmaz eğer bunuda belirtmek isterseniz ikinci bir parametre olarak bunu belirleyebilirsiniz.

  İlk olarak sadece dosya ismi vererek xml imizi oluşturalım.

private void btnXML_Click(object sender, EventArgs e)
{
try
{
ds.WriteXml(“bilgiler.xml”);
MessageBox.Show(“xml başarılı bir şekilde oluştu”);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

  Şekillerde gördüğümüz gibi bilgiler isimli xml dosyamızı başarılı bir şekilde oluşturduk. Dataset’in bize sağladığı diğer bir method da ReadXml . Bu method sayesinde xml dosyamızdaki verileri datasetimize aktarabiliriz. Şimdi kodumuzu biraz daha değiştirerek hem bir xml dosyasındaki verileri datasete nasıl aktarabileceğimizi hemde oluşturduğumuz xml de gerçketen eklediğimiz 2 kayıt mevcutmu kontorl edelim.

Uygulamamızı tekrar çalıştırdığımızda eklemiş olduğumuz 2 kaydın xml dosyamıza yazıldığını görebiliyoruz.

Datasetin WriteXml ve ReadXml methodları ile yazma , okuma işlemlerini gerçekleştirdikten sonra , diğer bir yöntemle yazma işlemimizi aşağıdaki gibi gerçekleştirelim.

private void btnXML_Click(object sender, EventArgs e)
{
try
{
ds.WriteXml(“bilgiler.xml”);
DataSet yeniDs = new DataSet();
yeniDs.ReadXml(“bilgiler.xml”);
MessageBox.Show(“XML de toplam “+yeniDs.Tables[0].Rows.Count.ToString()+” kayit vardir”);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

System.IO.FileStream yFileStream = new System.IO.FileStream(“bilgiler.xml”, System.IO.FileMode.Create);
System.Xml.XmlTextWriter yXmlWriter = new System.Xml.XmlTextWriter(yFileStream, System.Text.Encoding.Unicode);
ds.WriteXml(yXmlWriter, XmlWriteMode.WriteSchema);
yXmlWriter.Close();

  Okuma işlemi için ise

DataSet yeniDs = new DataSet();
System.IO.FileStream yFileStream = new System.IO.FileStream(“bilgiler.xml”, System.IO.FileMode.Open);
System.Xml.XmlTextReader yXmlReader = new System.Xml.XmlTextReader(yFileStream);
ds.ReadXml(yXmlReader, XmlReadMode.ReadSchema);
yXmlReader.Close();

  satırlarını kullanabiliriz.

  Bu yazımda sizlere datesette geçiçi olarak duran bilgilerimizi bir xml dosyasısı oluşturarak kalıcı hale getirmeye çalıştık. Bu yazımla ilgili yada diğer konularla ilgili soru ve önerilerinizi iletebilirsiniz.
Kategori:C#Uygulama Geliştirme

Bu yazı yorumlara kapalı.