C# XML Veri Güncelleme & DataGridView’den Veri Çekme

C# XML Veri Güncelleme & DataGridView’den Veri Çekme

23 Ağustos 2019 2 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 29
Yaklaşık okuma süresi : 7 DK
C# XML Veri Silme
C# XML Veri Ekleme

C# XML Veri Güncelleme & DataGridView’den Veri Çekme dersimiz ile C# XML Üzerine işlemler ders serime devam ediyorum. Bu dersimizde bir XML dosyaya eklenmiş olan verinin nasıl güncelleneceğini göreceğiz.

C# XML Veri Güncelleme & DataGridView’den Veri Çekme

Bu dersimizde hem XML veri güncelleme konusunu hemde DataGridView ‘den veri çekme işlemini göreceğiz. Neden DataGridView Veri Çekme işlemini görüyoruz derseniz, hazırladığım örnekte bu şekilde olduğu için. 😉

XML üzerine işlemler  ders serimizin önceki derslerimizde xml verileri girdde gösterme konusunu işlemiştik. Bu dersimiz o ders ile bağlantılı bir derstir. Öncelikle verilerimizi DataGridView’de gösterme kodlarımıza tekrar bakalım.

Advertisements

Değişkenlerimiz;

        XDocument xDoc = new XDocument();
        string directory_path = _000_Classlar.Global.AppPath + "//XML";
        string file_path = _000_Classlar.Global.AppPath + "//XML//Personeller.xml";
        int xml_ID = 0;

DataGridView_Doldur;

        void DataGridView_Doldur(string path)
        {
            DataSet dataSet = new DataSet();
            dataSet.ReadXml(path);
            try
            {
                dataGridView1.DataSource = dataSet.Tables[0];
            }
            catch (IndexOutOfRangeException)
            {
                lbl_bildirim.Text = "XML Dosyası boş olduğundan gösterilecek veri bulunamadı.";
            }
        }
  1. Bir dataset tanımladık.
  2. Bu tanımladığımız DataSet’in ReadXml metodu ile xml dosyamızı okuduk.
  3. Okunan xml dosyası DataSet içerisindeki ilk tablo olarak alındığı için;
  4. DataGridView’in datasource (Veri Kaynağı) özelliğine DataSet’in ilk sıradaki tablosunu gösterdik.
  5. IndexOutOfRangeException sınıfı ile de xml dosyası boş mu değil mi diye kontrol ettik.
    1. Bu kontrolü Try Catch Anlatımı dersimde ayrıntılı bir şekilde görebilirsiniz.

DataGridView doldurma kodlarımız bu kadar. Şimdide DataGridView’den veri çekme işlemine bir bakalım.

       private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            var dataIndexNo = dataGridView1.Rows[e.RowIndex].Index.ToString();
            txt_ad.Text = dataGridView1.Rows[e.RowIndex].Cells["ad"].Value.ToString();
            txt_soyad.Text = dataGridView1.Rows[e.RowIndex].Cells["soyad"].Value.ToString();
            txt_id.Text = dataGridView1.Rows[e.RowIndex].Cells["id"].Value.ToString();
            xml_ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["id"].Value.ToString());
        }
  1. İlk olarak işlem yaptığımız satırın index numarasını almak olacak.
  2. İkinci işlem olarak da kolon adlarına göre gerekli olan verileri alıp formdaki nesnelere atamasını yapıyoruz.
İlgili İçerik  C# ToolTip Kullanımı - Nesneler İçin Açıklama

DataGridView’den verileri alma işlemimiz buraya kadardı. Şimdi XML sırada sadece XML Verilerini Güncelleme işlemi var.

        void XML_Veri_Guncelle()
        {
            xDoc = XDocument.Load(file_path);

            XElement rootElement = xDoc.Root;

            foreach (XElement Personeller in rootElement.Elements())
            {
                if (Personeller.Attribute("id").Value == txt_id.Text)
                {
                    Personeller.Element("ad").Value = txt_ad.Text;
                    Personeller.Element("soyad").Value = txt_soyad.Text;
                    break;
                }
            }
            xDoc.Save(file_path);

            DataGridView_Doldur(file_path);
        }

Yukarıda gördüğümüz kodlar XML Veri Güncelleme kodlarıdır. Şimdi bu kodlarımızı açıklayalım.

  1.  İlk olarak XML dosyamızın yüklemesini yapıyoruz.
  2. Root yani kök elementimizi alıyoruz.
  3. Foreach döngümüz ile kök elementin içindeki ana elementler arasında gezintiye çıkıyoruz
    1. Personeller adı verdiğimiz XElement’ler arasında Attribute’si yani özelliği “id” olan elementin değeri, bizim txt_id nesnemize yazdığımız veri ile uyuşuyor ise
    2. Personeller adı verdiğimiz XElement’ler arasında Attribute’si yani özelliği “ad” olan elementin değerini, bizim txt_ad nesnemize yazdığımız veri ile değiştiriyoruz.
    3. değişiklikler yapıldıktan sonra Break; ile döngüden çıkıyoruz.
  4.  Dosyamızı kaydediyoruz.
  5. Yeni verileri DataGridView’de gösteriyoruz.

 

**********************************************************

C# XML Üzerine İşlemler

Şuanki planıma göre toplamda 17 yazılık bir seri olacak. Genel başlıklar ise aşağıdaki gibi olacak. Elbette liste değişebilir. Belki bazılarından vazgeçerim belki dersleri birleştiririm belli olmaz.

  1. √ – XML Nedir? Kullanımı, Temel Özellikleri ve Örneği
  2. √ – XML Oluşturma
  3. √ – XML Verileri Gridde Gösterme
  4. √ – XML Veri Ekleme
  5. √ – XML Veri Güncelleme
  6. √ – XML Veri Silme
  7. √ – XML İşlemleri Class Hazırlama
  8. √ – XML URL’den Okuma
    • Bu ders için ek bir ders açmamaya karar verdim.  file_path değişkenine xml url si yazmanız yeterli olacaktır.
  9. √ – DataSet ile XML Dosyası Nasıl Oluşturulur
  10. √ – XML Dosyası ile DataSet Nasıl Oluşturulur ve Okunur?
  11. √ – SQL’den bir XML dosyası nasıl oluşturulur
    • Bu ders içinde ek bir ders açmamaya karar verdim. SQL server bağlantısı yapıp bir select sorgusunu dataset’e atamasını yaptıktan sonra 9. maddedeki işlemleri uygulayabilirsiniz.
  12. √ – XML dosyasında nasıl arama yapılır?
  13. √ – Bir XML dosyasında filtreleme
  14. √ – XML’den veritabanına veri nasıl eklenir
    • Bu ders içinde ek bir ders açmamaya karar verdim. DataSet’e eklediğimiz verileri for döngüsü ile sql’e kaydet işlemi yapıyoruz sadece. Bu sebeple ek ders eklemeye gerek yok arkadaşlar.
  15. √ – XML’den Excel dosyası nasıl oluşturulur
    • Bu dersi hazırlarken kodlarda bir sorun yaşadım ve o sorunu çözemedim. Bu sebeple bu dersi iptal ediyorum arkadaşlar. Elbette bu kodlar çok önceden elimde vardı. büyük ihtimalle bu sebeple çalışmadılar.
  16. √ – Excel’den XML dosyası nasıl oluşturulur
  17. √ – XML dosyasından bir TreeView nasıl oluşturulur

Hatta bu listeyi, bu serideki her yazının altına eklerim.

**********************************************************

İlgili İçerik  C# Nesne Yaklaşımlı SQL Modelleme

C# XML Veri Güncelleme & DataGridView’den Veri Çekme dersimizde buraya kadardı arkadaşlar. Diğer derslerimizde görüşmek üzere…

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Takipte ve Sağlıcakla kalın. 😉

C# XML Veri Silme
C# XML Veri Ekleme