Programlama öğrenmek için her zaman yeni örnekler denemelisiniz. Bunun için bugün sizlere C# ile XML Veri Kaydetme, Düzenleme ve Silme İşlemleri programını aktaracağız. C# da 2 form nasıl çalıştırılır? C# ile XML Veri Kaydetme, Düzenleme ve Silme İşlemleri örneği nasıl olur? Gibi sorularınızın cevabını bu içeriğimizde bulabilirsiniz.
Form görünümü aşağıdaki gibi olmaktadır.
Xml Dosya çıktısı bu şekilde gözükmektedir.
Kullanılması Gerekenler
C# ile XML Veri Kaydetme, Düzenleme ve Silme İşlemleri için kullanılması gerekenler sırası ile aşağıdaki gibidir:
5 adet Label, 3adet Textbox, 5 adet Button ve 1 adet Tables bu program için kullanılması gerekenlerdir.
Kod Alanı
Uygulamamız da Dataset kullanıyoruz. Formumuz da oluşturduğumuz değerlerimizi Xml’ e yazdırıyoruz. Bu yazdırdığımız değerler üzerinde sonradan silme, düzenleme vb. işlemleri tabi ki de yapabiliyoruz.
Başlangıçta iş-detay adında verilerimizi oluşturmuş durumda tutuyor ve başlarken mevcut hali hazır konuma getiriyoruz. İş sıra no, iş detay1 ve iş detay2 mevcut konumda bulunan verilerimiz oluyor. Kullanıcı tarafından girilen bu bilgileri datagridview’e kaydediyoruz.
Daha sonra datagridview içerisine kaydettiğimiz verilerimizi dataset ile birlikte Xml dosyasının içerisine aktarıyoruz. Program daha önceden kullanılıp içerisinde mevcut veriler kaydedilmiş ise “Bilgileri XML dosyasından al” butonumuzu kullanarak Xml içerisindeki verilerimizi datagridView’e içerisine çekiyoruz.
Programımız açıldığı andan itibaren verileri kaydetmemiş isek Xml’ den verileri yüklerken karşımıza mesaj olarak hatalı bir durum olduğunu aktarıyoruz. Verilerimizi Xml içerisine kaydederek başka kullanımlarımız için koruma ve saklama işlemimizi gerçekleştiriyoruz.
Uygulamamızı Xml veya başka bir kaydetme yöntemi ile yapmaz isek uygulamamız Ram bellekte kalıyor. Bilgisayar kapandığı ve program kapandığı anda ise silinip gidiyor. Kullandığımız dataset yöntemi verilerimizi sadece Xml formatına değil istersek veritabanı programlarına kolayca aktarabiliyor. Bu uygulamanın kullanım aşamaları sırası ile şunlardır:
1) Xml ile işlemler yapabilmek için System.XML’i projemizin içerisine dahil ederek başlıyoruz.
2) Buttonekle_Click e basıldığı zaman ilk önce integer bir değişken oluşturuyoruz. Bunun nedeni ise datagridview’e satır ekleme aşamasında kullanmamız.
3) Bir sonraki aşamalarımız ise //Datagridview’in içerisine sıralı Textboxlarımızdan veri çekme işlemi oluyor.
4) Verilerimizi çektikten sonra yeni veri girişleri için Textboxlarımızı temizliyoruz.
5) ButtonXmlKaydet_Click e tıkladığımız zaman öncelikle verilerimizi dataset e kaydetmek için “Firma Bilgileri” isimli bir adet dataset oluşturuyoruz.
6) Verilerimizi dataset içerisine kaydetmek için “İş Detay” isimli bir adet datatable oluşturuyoruz.
7) Datatable’in içerisine sırası ile “Sıra No”, “Detay1” ve “Detay2” verilerini ekliyoruz.
8) Eklediğimiz verileri sütunlar içerisinde tablo içerisine ekliyoruz.
9) Uygulamamız da oluşacak satır sayısının kesin bir sonucu olmadığı için //DataGridView’in içerisin de oluşacak satır sayısı kadar döndürecek bir foreach döngüsü kullanıyoruz.
10) İş detay içerisinde oluşturduğumuz tablo içerisindeki değerleri eklemek için DataRow row = ds.Tables kullanıyoruz.
11) Satırlarda oluşan değerleri DetaGridView’in içerisinde alıp ilgili sütunlara sırası ile ekliyoruz.
12) Satırları İşdetay tablosuna ekliyoruz. Karıştırmamış gereken durum ise Dateset içerisinde İşdetay tablosu olduğudur. Sonradan verilerimizi Dataset ile birlikte Xml içerisine yazdırıyoruz.
13) ButtonXmla2_Click e ilk tıkladığımız anda Xml dosyası var olup olmadığını kontrol edecek bir değişkene dosya yolu açıyoruz.
14) Eğer dosya yolu içerisinde belirtilen değer var ise ilk olarak tekrardan dataset private oluşturuyoruz.
15) Xml dosyamızdaki bulunan veri sayısının kesin sonucu olmadığı için İşdetay tablosundaki satır sayısı kadar Foreach döngüsüne veri sokuyoruz.
16) Foreach döngüsü içerisinde satır sayısını n değişkenine aktarıyoruz ve sırası ile DataGridView’in n satırının ilgili sütununa gelen veri ile eldeki verimizi eşleştiriyoruz.
17) Eğer veri yolunda Xml dosyası bulamadıysak bir mesaj olarak uyarı veriyoruz.
18) DataGridView1_MouseClick olayını kullanarak seçili satır tıklandığında ilgili textbox ın içerisini dolmasını sağlıyoruz.
19) Buttondüzenle_Click e tıkladığımız anda datagridview içerisinden değerlerimizi sırası ile textboxlara çekiyoruz.
20) Son olarak ise ButtonSil_Click e tıkladığımız zaman DataGridView’de tıklamış olduğu satırı siliyoruz.
Bu uygulamamızın kod metni aşağıdaki gibidir:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
namespace FormXmlKullanimi
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{ }
private void buttonEkle_Click(object sender, EventArgs e)
{
int n = dataGridView1.Rows.Add();
dataGridView1.Rows[n].Cells[0].Value=textBoxSiraNo.Text;
dataGridView1.Rows[n].Cells[1].Value=textBoxDetay1.Text;
dataGridView1.Rows[n].Cells[2].Value=textBoxDetay2.Text;
textBoxSiraNo.Clear();
textBoxDetay1.Clear();
textBoxDetay2.Clear();
}
private void buttonXMLKaydet_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet("FirmaProjeBilgileri");
DataTable dt = new DataTable("Isdetay");
dt.Columns.Add("SiraNo");
dt.Columns.Add("Detay1");
dt.Columns.Add("Detay2");
ds.Tables.Add(dt);
foreach (DataGridViewRow r in dataGridView1.Rows)
{
DataRow row = ds.Tables["IsDetay"].NewRow();
row["SiraNo"] = r.Cells[0].Value.ToString();
row["Detay1"] = r.Cells[1].Value.ToString();
row["Detay2"] = r.Cells[2].Value.ToString();
ds.Tables["IsDetay"].Rows.Add(row);
}
ds.WriteXml("Veri1.xml");
}
private void buttonXMLAl_Click(object sender, EventArgs e)
{
string DosyaYolu = "Veri1" + ".xml";
if (System.IO.File.Exists(DosyaYolu))
{
DataSet ds = new DataSet();
ds.ReadXml("Veri1.xml");
foreach (DataRow item in ds.Tables["IsDetay"].Rows)
{
int n = dataGridView1.Rows.Add();
dataGridView1.Rows[n].Cells[0].Value = item[0].ToString();
dataGridView1.Rows[n].Cells[1].Value = item[1].ToString();
dataGridView1.Rows[n].Cells[2].Value = item[2].ToString();
}
}
else {
MessageBox.Show("Veri1.XML Bulunamadı.XML Dosyasını Oluşturun.");
}
}
private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
}
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
textBoxSiraNo.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
textBoxDetay1.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
textBoxDetay2.Text = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
}
private void buttonDuzenle_Click(object sender, EventArgs e)
{
dataGridView1.SelectedRows[0].Cells[0].Value = textBoxSiraNo.Text;
dataGridView1.SelectedRows[0].Cells[1].Value = textBoxDetay1.Text;
dataGridView1.SelectedRows[0].Cells[2].Value = textBoxDetay2.Text;
}
private void buttonSil_Click(object sender, EventArgs e)
{
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
}
}
}
Bu uygulamada herhangi bir sorun yaşarsanız aşağıya yorum olarak bırakabilirsiniz. Bunun yanı sıra web sitemizdeki diğer hazır C# programlama örneklerine ulaşmak için bu linke tıklayabilirsiniz.


