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.
<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
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(); } }
Bende sizin gibi linq kullanarak yaptım ama çalışmıyor.
tam olarak aldığınız hata nedir acaba?
hata almıyorum ımagebutona tıkladığımda silme işlemi gerçekleşmiyor.