DataTable herhangi bir veri kaynağından aldığımız verilerimizi bellek içi ilişkisel veri tablosu üzerinde tutabileceğimiz bir .Net Framework nesnesidir. Örnek vermek gerekirse bir SQL tablo yapısına benzemektedir. Tablolar arası ilişki kurulabilir, yeni kolon ve satır eklenebilir. Öncelikle nasıl bir DataTable oluşturabileceğimizi inceleyelim.

DataTable nesnesini kullanabilmek için öncelikle Using System.Data; tanımını yapmamız gerekmektedir. Bu şekilde System.Data namespace altındaki DataTable nesnesini kullanabiliriz. Daha sonra aşağıdaki basit tanımlama ile bir dtSource adında bir DataTable nesnesi oluşturmuş oluyoruz.

DataTable dtSource = new DataTable();

DataTable nesnesine bir table name tanımı yapmak istersek aşağıdaki farklı şekillerde tanımlama yapılabilir.


DataTable dtSource = new DataTable("dtSourceName");
dtSource.TableName = "dtSourceName";

Oluşturduğumuz DataTable nesnemize veri alanlarını belirleyeceğimiz Column ekleme işlemi yapalım. Not: SQL kaynağından aldığımız veriyi oluşturduğumuz DataTable nesnesine set ettiğimizde column eklemediğimizde otomatik olarak SQL den gelen tablo alanları oluşturulacaktır.


dtSource.Columns.Add("Number");
 
dtSource.Columns.AddRange(new DataColumn[]{
 new DataColumn("ID",typeof(int)),
 new DataColumn("Code")});

DataTable nesnesine veri set ettiğimizde gelen verideki alanlar oluşturulmuş olacaktır.

DataTable örneği

DataTable nesnemiz üzerinde nasıl işlemler yapabileceğimizi inceleyelim. DataTable içerisine nasıl bir column ekleyebiliyorsak aynı şekilde itediğimiz bir alanı da silebiliriz. Aşağıdaki kısa örnekte nasıl bir column silebileceğimizi görebilirsiniz.

dtSource.Columns.Remove("Name");//yadavar findColumn = dtSource.Columns["Name"];dtSource.Columns.Remove(findColumn);
DataTable Column silme örneği

Yeni bir satır veri eklemek istediğimizde aşağıdaki örnekteki gibi yapabilirsiniz.

dtSource.Rows.Add(6, "006", "ITEM-6 (new)", DateTime.Now);
DataTable New Row Örneği

DataTable nesnesinden bir satır silmek istediğimizde aşağıdaki örnekteki gibi yapabilirsiniz.

dtSource.Rows.RemoveAt(2);//yadavar findRow = dtSource.Rows[3];dtSource.Rows.Remove(findRow);
DataTable Remove Rows

DataSet nesnesindeki bir satırdaki bir alanın değerini değiştirmek için aşağıdaki örnekteki gibi yapabilirsiniz.

var findRow = dtSource.Rows[3];findRow.SetField("Name","UPDATE ROW");
DataTable Update Row Value

Bir sonraki makalede görüşmek üzere.