Asp.net Veritabanı İşlemleri (Ekle,Sil,Güncelle,Bul,Listele)
Asp.net Veritabanı İşlemleri (Ekle, Sil, Güncelle, Bul, Listele)

Asp.net veritabanı işlemleri hakkındaki makalemize hoş geldiniz. Bu makalede temel veritabanı işlemlerinden ekle, sil, güncelle, bul ve listele işlemlerini örnek kodlamalarıyla birlikte anlatacağız. Asp.net veritabanı işlemleri için her biri ayrı bir webform üzerinde olacak şekilde bir proje tasarlayıp kodlayacağız.

Makalemizde asp.net kodlarımızı C# dili ile yazacağız ve veritabanı olarak MSSQL kullanacağız. Bu iki yapının birlikte çalışmasını sağlayan teknoloji ve veritabanı nesneleri hakkında daha fazla bilgi için Ado.net makalemizi inceleyebilirsiniz.

Projemizi oluşturarak işe başlayabiliriz. Visual Studio menüsünden “New > Web Site” yolu ile yeni bir proje (ASP.NET Empty Web Site) oluşturuyoruz. Projemize bir tane MasterPage ve bu Master sayfaya bağlı her bir işlem için bir tanede webform oluşturuyoruz. Örneğin ekle işlemi için “ekle.aspx” gibi.

Master sayfamızda tüm webformlara kolaylıkla ulaşabilmek için basitçe bir menü oluşturmamızda fayda var. Ayrıca tüm sayfalarımıza “using System.Data.SqlClient” direktifini eklemeyi unutmayalım.

Daha sonra Server Explorer panelinden yeni bir veritabanı oluşturup, bunun üzerinde yeni bir tablo oluşturalım. Tablo oluşturmak için aşağıdaki komutları kullanabilirsiniz. Oluşturduğumuz tablonun üzerine sağ tıklayıp “Show Table Data” seçeneği ile tablomuzun içeriğini açıp örnek birkaç tane veri ekleyelim.

CREATE TABLE [dbo].[Veriler]
(   [AdSoyad] NVARCHAR(50) NULL, 
    [Numara] NVARCHAR(10) NULL, 
    [Yas] INT NULL, 
    [Notu] DECIMAL(5, 2) NULL)

Artık Web.config dosyasını açıp bağlantı cümlemizi tanımlayabiliriz. Konu hakkında daha önce yayınladığımız Asp.net veritabanı bağlantısı makalemizde ayrıntılı bilgiler mevcut, burada sadece kullanacağımız kodları yazmamız yeterli olacak. Web.config dosyamıza ekleyeceğimiz bağlantı cümlemiz aşağıdaki gibi olacak.

  <connectionStrings>
    <add name="baglantiCumlemiz" connectionString="Data Source=.;Initial Catalog=IslemlerDB;Integrated Security=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>

Asp.net Veritabanı İşlemleri

Artık veritabanı işlemlerimizi gerçekleştirecek kodlamaları yapmaya hazırız. Öncelikle veritabanındaki kayıtları listeleyecek olan işlemi yapalım.

Asp.net Veritabanı İşlemleri (Ekle,Sil,Güncelle,Bul,Listele)
Asp.net Veritabanı İşlemleri (Ekle, Sil, Güncelle, Bul, Listele)

Listele İşlemi

Listele işlemi için bir adet GridView nesnesine ihtiyacımız olacak. GridView veritabanındaki kayıtları hızlı ve basitçe sayfalarımızda gösterebileceğimiz bir asp.net nesnesidir. ToolBox üzerinden Data başlığı altında yer alan GridView nesnemizi sayfamıza (örnek projemizde Default.aspx sayfasında olacak) sürükle-bırak yöntemi ile ekliyoruz. Daha sonra bu sayfamızın Page Load olayı içerisinde kodlamamızı yapacağız.

        SqlConnection baglanti = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["baglantiCumlemiz"].ConnectionString);
        SqlCommand listeleKomutu = new SqlCommand("SELECT * FROM Veriler", baglanti);
        baglanti.Open();
        SqlDataReader listele = listeleKomutu.ExecuteReader();
        GridView1.DataSource = listele;
        GridView1.DataBind();
        baglanti.Close();
        listeleKomutu.Dispose();
        baglanti.Dispose();

Bağlantımızı Web.config üzerinden çektiğimize dikkat edin. SqlCommand ile listelemek istediğimiz verilerin sorgusunu veritabanına gönderdik. Bu sorgumuzun sonucunda bize dönecek olan yanıtı tutacak olan nesnemiz SqlDataReader. Komutumuzu ExecuteReader ile çalıştırıp gelen yanıtı “listele” ismindeki SqlDataReader nesnemize aktardık. Son olarak veritabanından gelen verimizi GridView nesnemize veri kaynağı olarak tanımladık.

Bul İşlemi

Veritabanından arama yapmak, kayıtlar arasından istenilen kritere uygun olanı seçmek gibi işlemler listeleme işlemi ile benzer özelliklere sahiptir. Aradaki tek fark bulmak istediğimiz kayıt ile ilgili veritabanına parametre göndermemiz olacak. Önceki örnekte olduğu gibi sayfamıza (“bul.aspx”) bir adet GridView ekleyeceğiz. Ayrıca bir adet TextBox ile bir adet Button ekliyoruz. Bu kez kodlarımızı button kontrolünün click olayı içerisine yazacağız.

Senaryomuz şu şekilde, textbox içerisine yazdığımız ismi veritabanında (AdSoyad sütununda) arayacağız. Bunun için kodlamamızı button click olayı içerinde yapıp, gelen sonucu GridView üzerinde göstereceğiz.

        string aranacak = TextBox1.Text;
        SqlConnection baglanti = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["baglantiCumlemiz"].ConnectionString);
        SqlCommand bulKomutu = new SqlCommand("SELECT * FROM Veriler WHERE AdSoyad=@adsoyad", baglanti);
        bulKomutu.Parameters.AddWithValue("@adsoyad", aranacak);
        baglanti.Open();
        SqlDataReader listele = bulKomutu.ExecuteReader();
        GridView1.DataSource = listele;
        GridView1.DataBind();
        baglanti.Close();

Bunun için ilk satırda textbox içerisine girilen ismi tutacak bir değişken tanımladık. SqlCommand nesnemize WHERE şartı ile AdSoyad sutununda arama yapacağımızı ve bunu da “adsoyad” ismindeki parametre ile yapacağımızı belirttik. Bir alt satırda parametremizi yani textbox içine yazdığımız ismi gönderdik. Yazdığımız SQL sorgusu ile ilgili daha fazla bilgiyi T-SQL komutları makalemizde bulabilirsiniz.

Ekle İşlemi

Veritabanına yeni bir kayıt eklemek için öncelikle ekleyeceğimiz kayıt ile ilgili bilgileri webform üzerinden almalıyız. Bunun için 4 adet (Adı, Numarası, Yaşı, Notu) textbox ve bir adet buttonu formumuza ekliyoruz. Ekleme işleminin sonucu ile ilgili bilgi vermek içinde bir adet Label ekliyoruz.

        string adi = TextBox1.Text;
        string numarasi = TextBox2.Text;
        int yasi = Convert.ToInt32(TextBox3.Text);
        decimal notu = Convert.ToDecimal(TextBox4.Text);
        SqlConnection baglanti = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["baglantiCumlemiz"].ConnectionString);
        SqlCommand ekleKomutu = new SqlCommand("INSERT INTO Veriler (AdSoyad, Numara, Yas, Notu) VALUES (@adSoyad, @numara, @yas, @notu)", baglanti);
        ekleKomutu.Parameters.AddWithValue("@adsoyad", adi);
        ekleKomutu.Parameters.AddWithValue("@numara", numarasi);
        ekleKomutu.Parameters.AddWithValue("@yas", yasi);
        ekleKomutu.Parameters.AddWithValue("@notu", notu);
        baglanti.Open();
        ekleKomutu.ExecuteNonQuery();
        baglanti.Close();
        Label1.Text = adi + " İsimli Öğrenci Veritabanına Eklendi!";

İlk 4 satırda textboxlar aracılığı ile girilen verileri değişkenlere aktardık. Değişkenlerimizin türlerinin tablomuzdaki veri türleri ile eşleştiğine dikkat edin. SqlCommand ile ekleyeceğimiz verileri ve parametrelerini tanımladık. Burada kullandığımız ExecuteNonQuery() komutu, ekleme (Insert Into) komutumuzu çalıştıracak olan Ado.net nesnesidir.

Sil İşlemi

Asp.net ile veritabanından kayıt silme işlemi için formumuza birer adet textbox, button ve label kontrolleri ekliyoruz. Textbox üzerinden aldığımız numara ile veritabanından kayıt sileceğiz. Sonucu da label üzerinde göstereceğiz.

        string numarasi = TextBox1.Text;
        SqlConnection baglanti = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["baglantiCumlemiz"].ConnectionString);
        SqlCommand silKomutu = new SqlCommand("DELETE FROM Veriler WHERE Numara=@numara", baglanti);
        silKomutu.Parameters.AddWithValue("@numara", numarasi);
        baglanti.Open();
        silKomutu.ExecuteNonQuery();
        baglanti.Close();
        Label1.Text = numarasi + " Numaralı Öğrenci Veritabanından Silindi!";

Güncelle İşlemi

Güncelleme işlemi için sayfamıza bir 2 adet textbox, 1 adet button ve 1 adet label kontrolü ekliyoruz. Senaryomuz numarası girilen öğrencinin notunu güncelleyecek şekilde olacak.

        string numarasi = TextBox1.Text;
        decimal notu = Convert.ToDecimal(TextBox2.Text);
        SqlConnection baglanti = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["baglantiCumlemiz"].ConnectionString);
        SqlCommand guncelleKomutu = new SqlCommand("UPDATE Veriler SET Notu=@notu WHERE Numara=@numara", baglanti);
        guncelleKomutu.Parameters.AddWithValue("@notu", notu);
        guncelleKomutu.Parameters.AddWithValue("@numara", numarasi);
        baglanti.Open();
        guncelleKomutu.ExecuteNonQuery();
        baglanti.Close();
        Label1.Text = numarasi + " Numaralı Öğrencinin Notu Güncellendi: " + notu;

Güncelleme işlemi de bu kadardı. Silme ve güncelleme işlemlerinde dikkat etmeniz gereken bir konu var. Eğer T-SQL sorgunuzda WHERE şartı ile silinecek yada güncellenecek kaydı belirtmezseniz tablonuzdaki tüm kayıtlar silinir yada gönderdiğiniz yeni bilgi ile güncellenir.

Temel asp.net veritabanı işlemlerini anlattığımız makalemizin sonuna geldik. Örnek projemizi indirmek için linke tıklayabilirsiniz. Veritabanı işlemleri ile ilgili yaşadığınız sorunları yada sormak istediklerinizi aşağıdaki yorum bölümünden bize iletebilirsiniz.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz