ASP.NET MySQL Kayıt Silme

Asp.net örneklerimize mysql veri tabanından kayıt silme işlemi ile devam ediyoruz. Asp.net ile Mysql veri tabanı bağlantısının nasıl yapılacağını bilmiyorsanız ilk olarak buradaki makaleyi şimdi yapacağımız uygulamaya başlamadan önce okumalısınız.
Uygulamamızda ilk olarak kullanıcının tüm kayıtları listelemesi ve silmek istediği kaydı seçebilmesi için aşağıdaki formu hazırlıyoruz.
mysqlsil

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
     <title>www.aspnertornekleri.com</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <asp:Repeater ID="Repeater1" runat="server" onitemcommand="Repeater1_ItemCommand">       
	<HeaderTemplate>
		<table border="1">
			<tr>
				<th>Öğrenci Numarası</th>
				<th>Adı</th>
				<th>Soyadı</th>
				<th>Doğum Yeri</th>				
                <th>İşlem</th>		
			</tr>
	</HeaderTemplate>
	<ItemTemplate>
		<tr>
			<td align="center"><asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ono") %>'></asp:Label></td>
			<td><asp:Label id="Label2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "adi") %>'></asp:Label></td>
			<td><asp:Label id="Label3" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "soyadi") %>'></asp:Label></td>
			<td align="center"><asp:Label id="Label4" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "dyeri") %>'></asp:Label></td>			
             <td align="right"><asp:LinkButton id="LinkButton1" CommandName="kayitsil" runat="server">Sil</asp:LinkButton></td>          
		</tr>			
	</ItemTemplate>
	<AlternatingItemTemplate>
		<tr bgcolor="#e8e8e8">        
			<td align="center"><asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ono") %>'></asp:Label></td>
			<td><asp:Label id="Label2" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "adi") %>'></asp:Label></td>
			<td><asp:Label id="Label3" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "soyadi") %>'></asp:Label></td>
			<td align="center"><asp:Label id="Label4" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "dyeri") %>'></asp:Label></td>			
            <td align="right"><asp:LinkButton id="LinkButton2" CommandName="kayitsil" runat="server">Sil</asp:LinkButton></td>          
		</tr>			
	</AlternatingItemTemplate>
	</asp:Repeater>
    </div>
    </form>
</body>
</html>

Silme işlemini CommandName=”kayitsil” ifadesi ile Repeater1’in ItemCommand özelliğinde arayacağız eğer kayitsil komutu çağrıldı ise ilgili satırdaki öğrenci numarasını okuyup veri tabanından numaraya karşılık gelen kaydı siliyoruz. kodların sağlıklı bir şekilde çalışabilmesi için
using MySql.Data.MySqlClient;
using System.Data;
namespacelerini eklemeyi unutmuyoruz
aspnetmysqlkayitsilme

 MySqlConnection baglanti;
    MySqlCommand komut;
    void Page_Load(object sender, EventArgs e)
    {
        String baglan;
        baglan = "Server=localhost;User Id=root; Password=123456; Database=okul; Pooling=false";
        baglanti = new MySqlConnection(baglan);
        baglanti.Open();
        //http://www.aspnetornekleri.com/
        if (!Page.IsPostBack)
        {
        BilgileriGetir();
        }
    }

    void BilgileriGetir()
    {
        String sorgu;
        sorgu = "SELECT * FROM ogrenci";
        MySqlDataReader verilerioku;
        komut = new MySqlCommand(sorgu, baglanti);
        verilerioku = komut.ExecuteReader();
        Repeater1.DataSource = verilerioku;
        Repeater1.DataBind();
        //http://www.aspnetornekleri.com/
        verilerioku.Close();
        verilerioku = null;
    }

    void Page_UnLoad()
    {
        baglanti.Close();
        baglanti = null;
    }
    
  
    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "kayitsil")
        {String sorgu;
        //http://www.aspnetornekleri.com/
        Label Label1 = (Label)(e.Item.FindControl("Label1"));
        sorgu = "DELETE FROM ogrenci WHERE ono =" + Label1.Text + "";
            komut = new MySqlCommand(sorgu, baglanti);
            komut.ExecuteNonQuery();
            BilgileriGetir();
        }
    }
  • Damla

    Bende sizin gibi linq kullanarak yaptım ama çalışmıyor.

    • BilisimOgretmeni

      tam olarak aldığınız hata nedir acaba?

      • Damla

        hata almıyorum ımagebutona tıkladığımda silme işlemi gerçekleşmiyor.