ASP.NET DataTable Classı Oluşturma

ASP.NET’te Datatable Classının nasıl oluşturulacağını anlatacağım. Bunu yaparak projemiz içindeki gereksiz tekrarlardan kurtulmuş olacağız. Öncelikle bir veritabanı bağlantı classı Oluşturalım. Classın adı Baglanti olsun ve içine SqlConnectionumuzu yazalım. Koddaki ilk iki satır kütüphane olarak eklenmesi gereken kısımdır.


using System.Data;
using System.Data.SqlClient;

public class Baglanti
{
public SqlConnection con = new SqlConnection("Data Source=VERİ;Initial Catalog=Site;Integrated Security=True");
}

Bağlantı Classımızı oluşturduk. Datatable içinde ayrı bir class oluşturalım. Classın Adı Sql olsun. Daha sonra içine aşağıdaki kodları yapıştıralım.


using System.Data;
using System.Data.SqlClient;

public class Sql
{
Baglanti baglan = new Baglanti();

public DataTable Doldur(string Sorgu)
{
if(baglan.con.State==ConnectionState.Closed)
{
baglan.con.Open();
}
SqlDataAdapter adapter = new SqlDataAdapter(Sorgu,baglan.con);
DataTable dt = new DataTable();
adapter.Fill(dt);
baglan.con.Close();
return dt;
}
}

Yukarıdaki kodda öncelikle Baglanti classımızdan nesne oluşturuyoruz. Daha sonra Doldur diye bir fonksiyon oluşturuyoruz ve String bir parametre ekliyoruz. Sayfadan sorguyu göndererek çalışmasını sağlamak için parametre ekledik. Daha sonra bağlantının açık olup olmadığını kontrol ediyoruz edip değilse açıyoruz. Son olarakta verimizi Datatable içine atıyoruz.

Artık Classlarımız bitmiş durumda deneme yapmak için bir adet WebForm oluşturuyoruz ve içine bir adet grid atıyoruz. Sonra kod kısmına geliyoruz.


Baglanti baglan = new Baglanti();

Sql sql = new Sql();

Diyerek Classlarımızı bağlıyoruz. PageLoad kısmına gelip sorgumuzu parametre olarak gönderiyoruz ve verilerimiz gelmiş oluyor.


GridView1.DataSource= sql.Doldur("select ad,soyad from Deneme");
GridView1.DataBind();

Furkan Aktaş

Bilgisayar Mühendisiyim. Microsoft MCSA Web Applications Sertifikasına Sahibim. Aktif iş hayatımda Full Stack .Net Developer olarak çalışmaktayım.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir