Uyarılar :
- Bu sayfada yazılanlar yeniden yayınlanamaz.
- Bu örnek ders sırasındaki anlatımlardan derlenmiştir. Özellikle bir makale şeklinde yazılmamıştır. Bilgilerde eksiklikler bulunabilir.
- Bu örneği kullanabilmek için, web sitenizin (site klasörünüzün) ana dizininde App_Data isimli bir klasör ve bu klasörde
Veriler.mdb isimli bir Access veritabanı dosyası bulunmalı, veritabanı dosyası içinde birincil anahtar olarak "Kimlik"
ve "Adi", ve "Soyadi" isimli alanları içeren "Ogrenciler" isimli bir tablo bulunmalıdır.
-
Veritabanı erişim sınıfları burada anlatılmayacağından bu örneği incelemeden önce veritabanı erişim sınıflarının
kullanıldığı kayıt listeleme gibi örnekleri inceleyin.
-
Sayfayı çalıştırabilmek için sayfayı KayitSil.aspx adıyla kaydettiğinizi varsayarsak
KayitSil.aspx?KayitNo=SilinecekKaydinKimlikAlanininDegeri şeklinde (Örneğin KayitSil.aspx?KayitNo=2)
çağırmalısınız.
Kayıt silme için bir kaç yöntem kullanılabilir. Bizim örneğimizde silinecek kaydın birincil anahtar alanının (Kimlik)
değeri sorgu dizesi ile alınıp, kayıt silindikten sonra ziyaretçi geldiği sayfaya yönlendirilmektedir. Bu şekilde
ziyaretçi silme işlemi ayrı bir sayfada gerçekleştiğinden bu sayfayı görmeden listeleme sayfasına dönmektedir. Bu
sık kullanılan bir yöntemdir.
Örnek :
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object o, EventArgs e)
{
// Silinecek kaydın birincil anahtarının değerini QueryString'den
// (adres çubuğundan gelen veri) al.
int SilinecekKayitNo = System.Convert.ToInt32(Request.QueryString["KayitNo"]);
// Bağlantı nesnesi oluştur...
OleDbConnection Baglanti = new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0; Data Source=" +
Server.MapPath("~/App_Data/Veriler.mdb"));
// Bağlantıyı aç...
Baglanti.Open();
// SQL Komutlarını çalıştırmak için bir Command nesnesi oluştur...
OleDbCommand Komut = new OleDbCommand("DELETE FROM Ogrenciler WHERE Kimlik=?", Baglanti)
// Silinecek kaydın numarası parametresini ekle...
Komut.Parameters.AddWithValue("@Kimlik", SilinecekKayitNo);
// SQL komutlarını çalıştır.
Komut.ExecuteNonQuery();
// Bağlantıyı kapat.
Baglanti.Close();
// Listeleme sayfasına geri dön...
Response.Redirect("ListelemeSayfasi.aspx");
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>