Ekleme, Güncelleme, Silme: ASP.NET Veritabanı Bağlantısı

⚡ Akıllı Özet

ASP.NET, SQL Server gibi veritabanlarına bağlanır ve Oracle ADO.NET aracılığıyla, SqlConnection, SqlCommand, SqlDataReader ve SqlDataAdapter sınıflarını kullanarak bir bağlantı açılır ve depolanmış kayıtlara karşı select, insert, update ve delete işlemleri gerçekleştirilir.

  • 🔌 Bağlantı: SqlConnection, veri kaynağı, katalog ve kimlik bilgilerini içeren bir bağlantı dizesi kullanarak veritabanına bir bağlantı açar.
  • ???? Kayıtları Oku: ExecuteReader ve SqlDataReader ile birlikte kullanılan SqlCommand, SELECT sorgusunun döndürdüğü satırlar arasında döngü oluşturur.
  • ➕ Ekle ve Güncelle: ExecuteNonQuery özelliğine sahip SqlDataAdapter, depolanmış verileri değiştirmek için INSERT ve UPDATE ifadelerini çalıştırır.
  • 🗑️ Sil: ExecuteNonQuery aracılığıyla yürütülen bir DELETE ifadesi, tablodan belirli bir satırı siler.
  • 🔗 Kontrolleri Bağla: Bir veri kaynağı Listeyi bağlarBoxDropDownList ve benzeri kontrolleri doğrudan tablo alanlarına ekleyin.
  • 🔐 Güvende Kalın: Parametreli sorgular ve her bağlantının kapatılması, veritabanı kodunun güvenli ve güvenilir olmasını sağlar.

ASP.NET Veritabanına Ekleme, Güncelleme, Silme Operaleri

Veritabanından veri erişimi, herhangi bir programlama dilinin önemli bir yönüdür. Her programlama dilinin veritabanlarıyla çalışabilme yeteneğine sahip olması gereklidir.

ASP.NET, farklı veritabanı türleriyle çalışabilme özelliğine sahiptir. En yaygın veritabanlarıyla çalışabilir, örneğin: Oracle hem de Microsoft SQL Sunucu.

Ayrıca yeni veritabanları biçimleriyle çalışma yeteneğine de sahiptir. MongoDB hem de MySQL.

Veritabanı Bağlantısının Temelleri

ASP.NET, en yaygın olanları da dahil olmak üzere, veritabanlarının büyük çoğunluğuyla çalışabilme özelliğine sahiptir. Oracle hem de Microsoft SQL Server. Ancak her veritabanında hepsiyle çalışmanın mantığı çoğunlukla aynıdır.

Örneklerimizde aşağıdakilerle çalışmaya bakacağız: Microsoft SQL Server veritabanımız olarak. Öğrenme amacıyla, indirilebilir ve kullanılabilir. Microsoft SQL Server Express Edition. Bu, tarafından sağlanan ücretsiz bir veritabanı yazılımıdır. Microsoft.

Veritabanlarıyla çalışırken, aşağıdaki kavramlar tüm veritabanlarında ortaktır:

  1. Komunite – Bir veritabanındaki verilerle çalışmak için ilk belirgin adım bağlantıdır. Bir veritabanına bağlantı normalde aşağıda belirtilen parametrelerden oluşur.
    1. Veritabanı adı veya Veri Kaynağı – İlk önemli parametre veritabanı adıdır. Her bağlantı aynı anda yalnızca bir veritabanıyla çalışabilir.
    2. Tanıtım – Bir sonraki önemli husus kullanıcı adı ve şifredir. Bu, veritabanına bağlantı kurmak için kullanılır.
    3. İsteğe bağlı parametreler – .NET'in veritabanı bağlantısını nasıl ele alması gerektiğine ilişkin isteğe bağlı parametreler belirtebilirsiniz. Örneğin, bağlantının ne kadar süre aktif kalması gerektiğine dair bir parametre belirtebilirsiniz.
  2. Veritabanından veri seçme – Bağlantı kurulduktan sonra, veritabanından veriler alınır. ASP.NET, veritabanına karşı SQL SELECT komutunu çalıştırma yeteneğine sahiptir. SQL ifadesi, veritabanındaki belirli bir tablodan veri almak için kullanılabilir.
  3. Veri tabanına veri ekleme – Veritabanına kayıt eklemek için ASP.NET kullanılır. Veritabanına eklenmesi gereken her satır için değerler ASP.NET'te belirtilir.
  4. Veritabanındaki verileri güncelleme – ASP.NET, veritabanındaki mevcut kayıtları güncellemek için de kullanılabilir. Veritabanına güncellenmesi gereken her satır için ASP.NET'te yeni değerler belirtilebilir.
  5. Veri tabanından veri silmek – ASP.NET, veritabanından kayıtları silmek için de kullanılabilir. Kod, veritabanından belirli bir satırı silmek üzere yazılmıştır.

Her işlemin teorik kısmını gördüğümüze göre, şimdi ASP.NET'te veritabanı işlemlerinin nasıl gerçekleştirileceğine bakalım.

ASP.NET Veritabanı Bağlantıları

Şimdi, veritabanına bağlantı kurmak için gerekli olan koda bakalım. Örneğimizde, Demodb adlı bir veritabanına bağlanacağız. Veritabanına bağlanmak için kullanılan kimlik bilgileri aşağıda verilmiştir:

  • Kullanıcı adı – sa
  • Şifre – demo123

Şimdi, önceki bölümlerde oluşturduğumuz mevcut web uygulamamızla çalışalım.

  • Veritabanı işlemlerini buna eklemeye başlayın.
  • Örneğimizde basit bir bağlantı kurmayı ele alıyoruz. Bu bağlantı Demodb veritabanına kurulur. Bu işlem, sayfa ilk kez açıldığında yapılır.
  • Bağlantı kurulduğunda kullanıcıya mesaj gönderilecektir. Mesaj bağlantının kurulduğunu gösterecektir.

Bunu başarmak için aşağıda belirtilen adımları izleyelim.

) 1 Adım Öncelikle web uygulamanızın (DemoApplication) Visual Studio'da açık olduğundan emin olalım. Double-Veritabanı bağlantısı için kodu girmek üzere demo.aspx.cs dosyasına tıklayın.

ASP.NET Veritabanı Bağlantıları

) 2 Adım Veritabanına bağlantı kurmak için kullanılacak aşağıdaki kodu ekleyin.

ASP.NET Veritabanı Bağlantıları

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string connectionString;
            SqlConnection cnn;

            connectionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demo123";

            cnn = new SqlConnection(connectionString);

            cnn.Open();

            Response.Write("Connection Made");
            cnn.Close();
        }
    }
}

Code Açıklama:-

  1. İlk adım, değişkenler oluşturmaktır. Bu değişkenler, bağlantı dizesini ve SQL Server veritabanına bağlantıyı oluşturmak için kullanılacaktır.
  2. Bir sonraki adım, bağlantı dizesini oluşturmaktır. Bağlantı dizesi aşağıdaki bölümlerden oluşur:
    • Veri Kaynağı – Bu, veritabanının bulunduğu sunucunun adıdır. Bizim durumumuzda, WIN-50GP30FGO75 adlı bir makinede bulunmaktadır.
    • Başlangıç ​​Kataloğu, veritabanının adını belirtmek için kullanılır.
    • Kullanıcı Kimliği ve Parola, veritabanına bağlanmak için gereken kimlik bilgileridir.
  3. Ardından, bağlantı dizesini cnn değişkenine atıyoruz.
    • Cnn değişkeni SqlConnection türündedir. Bu, veritabanına bağlantı kurmak için kullanılır.
    • SqlConnection, ASP.NET'te veritabanına bağlantı kurmak için kullanılan bir sınıftır.
    • Bu sınıfı kullanmak için öncelikle bu sınıfın bir nesnesini oluşturmanız gerekir. Bu nedenle, burada SqlConnection türünde cnn adında bir değişken oluşturuyoruz.
  4. Ardından, cnn değişkeninin Open yöntemini kullanarak veritabanına bir bağlantı açıyoruz. Kullanıcıya bağlantının kurulduğunu bildiren bir mesaj gösteriyoruz. Bu işlem Response.Write yöntemiyle yapılır. Daha sonra veritabanına olan bağlantıyı kapatıyoruz.

Yukarıdaki kod ayarlandığında ve proje şu şekilde yürütüldüğünde: Visual Studio, aşağıdaki çıktıyı alacaksınız. Form görüntülendiğinde Bağlan düğmesine tıklayın.

Çıktı:-

ASP.NET Veritabanı Bağlantıları

Tarayıcıda görüntülenen çıktı mesajı, veritabanına bağlantının kurulduğunu gösterecektir.

ASP.NET SqlDataReader kullanarak Veritabanını Oku

ASP.NET kullanılarak erişilen verileri göstermek için, veritabanımızda aşağıdaki öğelerin bulunduğunu varsayalım.

  1. demotb adında bir tablo oluşturulacak. Bu tablo, çeşitli eğitim materyallerinin kimlik numaralarını ve adlarını saklamak için kullanılacak.
  2. Tabloda iki sütun olacak, biri TutorialID diğeri ise TutorialName olarak adlandırılacak.
  3. Şimdilik tablo aşağıda gösterildiği gibi iki satırdan oluşacaktır.
Öğretici Kimliği ÖğreticiAdı
1 C#
2 ASP.Net

Şimdi kodu, bu verileri sorgulayabilmek ve bilgileri doğrudan web sayfasında görüntüleyebilmek için değiştirelim. Girilen kodun, veri bağlantı modülü için yazılan kodun devamı niteliğinde olduğunu unutmayın.

) 1 Adım Kodu iki parçaya ayıralım:

  • İlk adım, veritabanından veri okumak için kullanılacak olan SELECT sorgusunu oluşturmak olacak.
  • Ardından veritabanına karşı SELECT sorgusunu çalıştıracağız. Bu, tablodaki tüm satırları getirecektir.

ASP.NET SqlDataReader kullanarak Veritabanını Oku

Code Açıklama:-

  1. İlk adım, aşağıdaki değişkenleri oluşturmaktır:
    • SqlCommand – SqlCommand, C# dilinde tanımlanmış bir sınıftır. Bu sınıf, veritabanına okuma ve yazma işlemlerini gerçekleştirmek için kullanılır.
    • DataReader nesnesi, SQL sorgusu tarafından belirtilen tüm verileri almak için kullanılır. Daha sonra veri okuyucuyu kullanarak tüm tablo satırlarını tek tek okuyabiliriz.
    • Ardından iki dize değişkeni tanımlıyoruz. Biri SQL komut dizesini tutmak için kullanılan `sql` değişkeni, diğeri ise tablodaki tüm değerleri içerecek olan `Output` değişkenidir.
  2. Bir sonraki adım, SQL sorgusunu tanımlamaktır. Bizim durumumuzda bu, "Select TutorialID, TutorialName from demotb" şeklindedir. Bu, demotb tablosundaki tüm satırları getirecektir.
  3. Daha sonra, SQL ifadesini veritabanında yürütmek için kullanılan komut nesnesini yaratıyoruz. SQL komutunda bağlantı nesnesini ve SQL dizesini iletmeniz gerekir.
  4. Ardından, demotb tablosundaki tüm satırları getirecek olan veri okuyucu komutunu çalıştırıyoruz.
  5. Tablonun tüm satırlarına sahip olduğumuza göre, artık satırlara tek tek erişebileceğimiz bir mekanizmaya ihtiyacımız var.
    • Bunun için, veri okuyucudan satırlara tek tek erişmek amacıyla while döngüsünü kullanıyoruz.
    • Ardından TutorialID ve TutorialName değerlerini almak için GetValue yöntemini kullanıyoruz.

) 2 Adım Son adımda, çıktıyı kullanıcıya gösteriyoruz. Ardından, veritabanı işlemiyle ilgili tüm nesneleri kapatıyoruz.

ASP.NET SqlDataReader kullanarak Veritabanını Oku

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Code Açıklama:-

  1. Kodumuza, Output değişkeninin değerini görüntüleyerek devam ediyoruz. Bu işlem, Response.Write yöntemi kullanılarak yapılır.
  2. Son olarak, veritabanı işlemimizle ilgili tüm nesneleri kapatıyoruz. Unutmayın, bu her zaman iyi bir uygulamadır.

Yukarıdaki kod ayarlanıp proje Visual Studio kullanılarak çalıştırıldığında aşağıdaki çıktıyı alacaksınız.

Çıktı:-

ASP.NET SqlDataReader kullanarak Veritabanını Oku

Çıktıdan, programın veritabanından değerleri alabildiğini açıkça görebilirsiniz. Veriler daha sonra tarayıcıda kullanıcıya görüntülenir.

InsertCommand'ı kullanarak Veritabanı Kaydı Ekleme

ASP.NET, veri erişimine benzer şekilde, veritabanına kayıt ekleme özelliğine de sahiptir. Kayıt eklemek için kullanılan aynı tablo yapısını ele alalım.

Öğretici Kimliği ÖğreticiAdı
1 C#
2 ASP.Net

Formumuzdaki kodu, aşağıdaki satırı tabloya ekleyebilecek şekilde değiştirelim:

Öğretici Kimliği ÖğreticiAdı
3 VB.Net

) 1 Adım İlk adım olarak, programımıza aşağıdaki kodu ekleyelim. Aşağıdaki kod parçası, veritabanımıza bir kayıt eklemek için kullanılacaktır.

InsertCommand'ı kullanarak Veritabanı Kaydı Ekleme

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Insert into demotb(TutorialID,TutorialName) values(3,'VB.Net')";

            command = new SqlCommand(sql, cnn);
            adapter.InsertCommand = new SqlCommand(sql, cnn);
            adapter.InsertCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Açıklama:-

  1. İlk adım, aşağıdaki değişkenleri oluşturmaktır:
    • SqlCommand – Bu veri türü, veritabanına karşı SQL işlemleri gerçekleştiren nesneleri tanımlamak için kullanılır. Bu nesne, SQL Server veritabanımıza karşı çalıştırılacak SQL komutunu içerecektir.
    • DataAdapter nesnesi, ekleme, silme ve güncelleme SQL komutlarını gerçekleştirmek için kullanılır.
    • Ardından, SQL komut dizesini tutmak için sql adında bir dize değişkeni tanımlıyoruz.
  2. Bir sonraki adım, SQL sorgusunu tanımlamaktır. Bizim durumumuzda, bir INSERT sorgusu yayınlıyoruz. Bu, TutorialID=3 ve TutorialName=VB.Net kaydını ekleyecektir.
  3. Daha sonra, SQL ifadesini veritabanında yürütmek için kullanılan komut nesnesini yaratıyoruz. SQL komutunda bağlantı nesnesini ve SQL dizesini iletmeniz gerekir.
  4. Veri bağdaştırıcısı komutumuzda:
    • SQL ekleme komutunu bağdaştırıcıyla ilişkilendirin.
    • Ardından ExecuteNonQuery yöntemini çalıştırın. Bu yöntem, veritabanımıza karşı ekleme sorgusunu yürütmek için kullanılır.
    • ExecuteNonQuery yöntemi şurada kullanılır: C# veritabanına karşı herhangi bir DML ifadesinin (ekleme, silme ve güncelleme işlemi) yayınlanması.
  5. Son olarak, veritabanı işlemimizle ilgili tüm nesneleri kapatıyoruz. Unutmayın, bu her zaman iyi bir uygulamadır.

) 2 Adım İkinci adım olarak, veri erişim bölümündekiyle aynı kodu ekleyelim. Bu, tarayıcıda son tablo verilerini görüntülemek içindir. Bunun için, aşağıdaki kodu demo.aspx.cs dosyasına ekleyeceğiz.

InsertCommand'ı kullanarak Veritabanı Kaydı Ekleme

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Yukarıdaki kod ayarlanıp proje Visual Studio'da çalıştırıldığında aşağıdaki çıktıyı alacaksınız.

Çıktı:-

InsertCommand'ı kullanarak Veritabanı Kaydı Ekleme

Tarayıcı penceresinde, satırın veritabanına başarıyla eklendiğini göreceksiniz.

UpdateCommand'ı kullanarak Veritabanı Kaydını Güncelleyin

ASP.NET, veritabanındaki mevcut kayıtları güncelleme özelliğine sahiptir. Kayıt eklemek için yukarıdaki örnekte kullanılan aynı tablo yapısını ele alalım.

Öğretici Kimliği ÖğreticiAdı
1 C#
2 ASP.Net
3 VB.Net

Formumuzdaki kodu, aşağıdaki satırı güncelleyebilecek şekilde değiştirelim. Eski satır değeri TutorialID olarak 3 ve TutorialName olarak VB.Net idi; bunları “VB.Net Complete” olarak güncelleyeceğiz, ancak TutorialID değeri aynı kalacak.

Eski satır

Öğretici Kimliği ÖğreticiAdı
3 VB.Net

Yeni satır

Öğretici Kimliği ÖğreticiAdı
3 VB.Net Tamamlandı

) 1 Adım İlk adım olarak, programımıza aşağıdaki kodu ekleyelim. Aşağıdaki kod parçası, veritabanımızdaki mevcut bir kaydı güncellemek için kullanılacaktır.

UpdateCommand'ı kullanarak Veritabanı Kaydını Güncelleyin

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Update demotb set TutorialName='VB.Net Complete' where TutorialID=3";

            command = new SqlCommand(sql, cnn);
            adapter.InsertCommand = new SqlCommand(sql, cnn);
            adapter.InsertCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Açıklama:-

  1. İlk adım, aşağıdaki değişkenleri oluşturmaktır:
    • SqlCommand – Bu veri türü, bir veritabanına karşı SQL işlemleri gerçekleştirmek için nesneler tanımlamak için kullanılır. Bu nesne, SQL Server veritabanımıza karşı çalıştırılacak SQL komutunu içerecektir.
    • DataAdapter nesnesi, ekleme, silme ve güncelleme SQL komutlarını gerçekleştirmek için kullanılır.
    • Ardından, SQL komut dizesini tutmak için sql adında bir dize değişkeni tanımlıyoruz.
  2. Bir sonraki adım, SQL sorgusunu tanımlamaktır. Bizim durumumuzda, bir güncelleme sorgusu yayınlıyoruz. Bu, TutorialName'i "VB.Net Complete" olarak güncelleyecektir. TutorialID değişmeden kalacak ve değeri 3 olacaktır.
  3. Ardından, komut nesnesini oluşturuyoruz. Bu nesne, veritabanına karşı SQL sorgusunu çalıştırmak için kullanılır. SQL komutunda, bağlantı nesnesini ve SQL dizesini iletiyorsunuz.
  4. Veri bağdaştırıcısı komutumuzda, SQL komutunu bağdaştırıcımızla ilişkilendiriyoruz. Ardından ExecuteNonQuery yöntemini çağırıyoruz. Bu yöntem, veritabanımıza karşı güncelleme ifadesini çalıştırmak için kullanılır.
  5. Son olarak, veritabanı işlemimizle ilgili tüm nesneleri kapatıyoruz. Unutmayın, bu her zaman iyi bir uygulamadır.

) 2 Adım İkinci adım olarak, veri erişim bölümündekiyle aynı kodu ekleyelim. Bu, tarayıcıda son tablo verilerini görüntülemek içindir. Bunun için aşağıdaki kodu ekleyeceğiz.

UpdateCommand'ı kullanarak Veritabanı Kaydını Güncelleyin

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Yukarıdaki kod ayarlandıktan ve proje Visual Studio kullanılarak çalıştırıldıktan sonra aşağıdaki çıktıyı alacaksınız.

Çıktı:-

UpdateCommand'ı kullanarak Veritabanı Kaydını Güncelleyin

Tarayıcı penceresinde, ilgili satırın veritabanında başarıyla güncellendiğini göreceksiniz.

deleteCommand'ı kullanarak Veritabanı Kaydını Silme

ASP.NET, veritabanındaki mevcut kayıtları silebilir. Kayıtları silmek için yukarıdaki örnekte kullanılan aynı tablo yapısını kullanalım.

Öğretici Kimliği ÖğreticiAdı
1 C#
2 ASP.Net
3 VB.Net Tamamlandı

Aşağıdaki satırı silebilmek için formumuzdaki kodu değiştirelim:

Öğretici Kimliği ÖğreticiAdı
3 VB.Net Tamamlandı

) 1 Adım İlk adım olarak, programımıza aşağıdaki kodu ekleyelim. Aşağıdaki kod parçası, veritabanımızdaki mevcut bir kaydı silmek için kullanılacaktır.

deleteCommand'ı kullanarak Veritabanı Kaydını Silme

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Delete demotb where TutorialID=3";

            command = new SqlCommand(sql, cnn);
            adapter.DeleteCommand = new SqlCommand(sql, cnn);
            adapter.DeleteCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Açıklama:-

  1. Bu kodda en önemli fark, artık silme SQL sorgusunu kullanıyor olmamızdır. Silme sorgusu, demotb tablosunda TutorialID değeri 3 olan satırı silmek için kullanılır.
  2. Veri bağdaştırıcısı komutumuzda, silme SQL komutunu bağdaştırıcımıza bağlıyoruz. Ayrıca, veritabanımıza karşı silme ifadesini yürütmek için kullanılan ExecuteNonQuery yöntemini de çağırıyoruz.

) 2 Adım İkinci adım olarak, veri erişim bölümündekiyle aynı kodu ekleyelim. Bu, tarayıcıda son tablo verilerini görüntülemek içindir. Bunun için aşağıdaki kodu ekleyeceğiz.

deleteCommand'ı kullanarak Veritabanı Kaydını Silme

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Yukarıdaki kod ayarlandıktan ve proje Visual Studio kullanılarak çalıştırıldıktan sonra aşağıdaki çıktıyı alacaksınız.

Çıktı:-

deleteCommand'ı kullanarak Veritabanı Kaydını Silme

ASP.NET Kontrollerini Verilere Bağlama

ASP.NET komutları olan SqlCommand ve SqlDataReader gibi komutları kullanarak veritabanından veri çekmeyi gördük. Ayrıca tablonun her satırını nasıl okuyup web sayfasında görüntüleyebileceğimizi de inceledik.

Tablodaki farklı alanlara doğrudan denetimleri bağlamak için kullanılabilecek yöntemler mevcuttur. Şu anda, bir ASP.NET uygulamasına yalnızca aşağıdaki denetimler bağlanabilir:

  1. KontrolBoxListe
  2. Radyo Düğmesi Listesi
  3. Açılır liste
  4. ListeBox

Şimdi ASP.NET'te kontrol bağlamayı nasıl kullanabileceğimize dair bir örnek görelim. Burada bir Liste kullanacağız.Box Örnek. Diyelim ki veri tabanımızda aşağıdaki veriler var.

Öğretici Kimliği ÖğreticiAdı
1 C#
2 ASP.Net
3 VB.Net Tamamlandı

Listeyi kullanalım.Box Demotb tablosundan verileri otomatik olarak nasıl alabileceğini kontrol edelim. Bunu başarmak için aşağıdaki adımları izleyelim.

) 1 Adım Temel web formunu oluşturun. Visual Studio'daki araç kutusundan etiketler ve liste olmak üzere 2 bileşeni sürükleyip bırakın.BoxÖncelikle aşağıdaki adımları uygulayın:

  1. İlk etiketin metin değerini TutorialID olarak girin.
  2. İkinci etiketin metin değerini TutorialName olarak girin.

Yukarıda belirtilen adımlar gerçekleştirildikten sonra formun görünümü aşağıdaki gibidir.

ASP.NET Kontrollerini Verilere Bağlama

) 2 Adım Sonraki adım, her bir listeyi birbirine bağlamaya başlamaktır.Box veritabanı tablosuna.

  1. İlk önce Listeye tıklayınBox TutorialID için. Bu, kontrolün yanında başka bir iletişim kutusu açacaktır.
  2. Açılan iletişim kutusundan "Veri Kaynağı Seç" seçeneğine tıklayın.

ASP.NET Kontrollerini Verilere Bağlama

) 3 Adım Ardından bir iletişim kutusuyla karşılaşacaksınız. Bu kutu, yeni bir veri kaynağı oluşturmak için kullanılabilir. Veri kaynağı, veritabanına bir bağlantıyı temsil edecektir. "Yeni veri kaynağı" seçeneğini seçin.

ASP.NET Kontrollerini Verilere Bağlama

) 4 Adım Son adımda yeni veri kaynağı seçildikten sonra aşağıdaki ekran görüntülenecektir. Burada oluşturmak istediğimiz veri kaynağının türünden bahsetmemiz gerekiyor.

  1. SQL Server veritabanıyla çalışmak için veritabanı seçeneğini seçin.
  2. Şimdi veri kaynağımıza bir isim vermemiz gerekiyor. Burada DemoDataSource adını veriyoruz.
  3. Son olarak, bir sonraki ekrana geçmek için Tamam düğmesine tıklıyoruz.

ASP.NET Kontrollerini Verilere Bağlama

) 5 Adım Şimdi veritabanımıza bir bağlantı oluşturmamız gerekiyor. Sonraki ekranda, Yeni Bağlantı düğmesine tıklayın.

ASP.NET Kontrollerini Verilere Bağlama

) 6 Adım Daha sonra veritabanına bağlanmak için kimlik bilgilerini eklemeniz gerekir.

  1. SQL Server'ın bulunduğu sunucu adını seçin.
  2. Veritabanına bağlanmak için kullanıcı kimliğinizi ve şifrenizi girin.
  3. Veritabanı olarak demotb'yi seçin.
  4. Tamam düğmesine tıklayın.

ASP.NET Kontrollerini Verilere Bağlama

) 7 Adım Sonraki ekranda demotb tablosunu görebileceksiniz. Varsayılan ayarı kabul etmek için İleri düğmesine tıklamanız yeterlidir.

ASP.NET Kontrollerini Verilere Bağlama

) 8 Adım Artık bir sonraki ekranda bağlantıyı test edebileceksiniz.

  1. Tablodan değerleri alıp alamayacağınızı görmek için "Sorguyu Test Et" düğmesine tıklayın.
  2. Sihirbazı tamamlamak için Son düğmesini tıklayın.

ASP.NET Kontrollerini Verilere Bağlama

) 9 Adım Şimdi son ekranda Tamam düğmesine tıklayabilirsiniz. Bu işlem, TutorialID Listesini bağlayacaktır.Box demotb tablosundaki TutorialID alan adına.

ASP.NET Kontrollerini Verilere Bağlama

) 10 Adım Şimdi TutorialName Listesini bağlama zamanı geldi.Box TutorialName alanına.

  1. Öncelikle, "Öğretim Adı Listesi"ne tıklayın.Box.
  2. Ardından, listenin yanında açılan iletişim kutusundan Veri Kaynağı seçeneğini belirleyin.Box.

ASP.NET Kontrollerini Verilere Bağlama

) 11 Adım Bir sonraki ekranda Veri Kaynağını seçerken DemoDataSource'u zaten göreceksiniz.

  1. DemoDataSource'u seçin.
  2. Tamam düğmesine tıklayın.

ASP.NET Kontrollerini Verilere Bağlama

Yukarıdaki adımların tümü gösterildiği gibi yürütülürse, aşağıda belirtilen çıktıyı alacaksınız.

Çıktı:-

ASP.NET Kontrollerini Verilere Bağlama

Çıktıdan da görebileceğiniz gibi, ListeBoxes sırasıyla TutorialID ve TutorialName'i görüntüler.

SSS

Evet. GitHub Copilot gibi yapay zeka asistanları, ADO.NET ekleme, güncelleme ve silme yöntemlerini oluşturabilir ve her satırı açıklayabilir. Yapay zeka parametreleştirme veya bağlantı işleme ayrıntılarını gözden kaçırabileceğinden, oluşturulan SQL kodunu her zaman inceleyin ve test edin.

Evet. Bir ADO.NET istisnası veya SQL hatasını bir yapay zeka aracına yapıştırarak, anlaşılır bir dilde nedenini ve olası çözümünü öğrenebilirsiniz. Üretim kodunda uygulamadan önce öneriyi şemanızla karşılaştırarak doğrulayın.

Parametreli sorgular kullanın. Girişi SQL dizesine birleştirmek yerine, SqlParameter nesneleriyle değerler ekleyin. Bu, verileri komutlardan ayırır ve enjeksiyonu engellerken aynı zamanda sorgu planının yeniden kullanımını da iyileştirir.

ExecuteNonQuery, INSERT, UPDATE ve DELETE işlemlerini çalıştırır ve etkilenen satırları döndürür. ExecuteReader, SELECT sonuçları için yalnızca ileriye dönük bir SqlDataReader döndürür. ExecuteScalar, ilk satır ve sütundan tek bir değer (örneğin, sayım) döndürür.

SqlDataReader satırları tek tek işler ve açık bir bağlantıya ihtiyaç duyar, bu nedenle okuma işlemi hızlıdır. SqlDataAdapter ise bir DataSet veya DataTable'ı bellekte doldurur ve ayrıca ekleme, güncelleme ve silme komutlarını çalıştırır.

Bu ayarları bir sayfaya doğrudan yazmak yerine, web.config dosyasının connectionStrings bölümünde saklayın. Bu, ayarları merkezileştirir, kimlik bilgilerini kaynak kodundan uzak tutar ve uygulamayı yeniden derlemeden değiştirmenize olanak tanır.

ADO.NET ve SqlCommand, basit sayfalar için hassas kontrol ve hız sağlar. Entity Framework ise tabloları nesnelere eşler ve daha büyük uygulamalar için gereksiz kod miktarını azaltır. Birçok ekip, performans ve karmaşıklık ihtiyaçlarına bağlı olarak her ikisini de bir arada kullanır.

Açık bağlantılar, sunucuda havuzlanmış kaynakları tutar. İdeal olarak bir using bloğu içinde Close veya Dispose çağrısı yapmak, bağlantıyı havuza geri döndürür, sızıntıları önler ve uygulamanın yük altında yanıt vermesini sağlar.

Bu yazıyı şu şekilde özetleyin: