DataList Update Delete İşlemleri
Merhaba arkadaşlar, bu makalemizde DataList nesnesinde Güncelleştirme, Silme işlemlerinin nasıl yapıldığını göreceğiz. İlk önce sayfanıza DataList ve SqlDataSource nesneleri ekleyin.
Şekil 1
DataList in DataKeyField özelliğini DataKeyField="id" yapın. <ItemTemplate></ItemTemplate> kısmına 2 adet LinkButton koyuyoruz. Bunlardan birincisi ile Seçme işlemini ikincisi ile silme işlemi gerçekleştireceğiz.
Şekil 2
<asp:LinkButton ID="linkSec" CommandName="Edit" Text="Seç" runat="server">Seç</asp:LinkButton>
<asp:LinkButton ID="linkSil" CommandName="Delete" Text="Sil" OnClientClick="return confirm('Gerçekten silmek istiyormusunuz?');" runat="server">Sil</asp:LinkButton>
<EditItemTemplate> </EditItemTemplate> kısmında güncelleştirme işlemi yapılacak alanlara ait TextBoxlar, Labelleri ekliyoruz. Güncelleme ve İptal işlemleri için 2 adet LinkButton ekliyoruz.
<asp:LinkButton id="linkGuncelle" CommandName="Update" Text="Güncelle" runat="server"/>
|
<asp:LinkButton id="linkIptal" CommandName="Cancel" Text="İptal" runat="server"/>
Şekil 3
Şekil 4
SqlDataSource nesnesinde Update, Delete parametrelerini giriyoruz.
Şekil 5
Şekil 6
Default.aspx.vb
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub DataList1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.CancelCommand
DataList1.EditItemIndex = -1
DataList1.DataBind()
End Sub
Protected Sub DataList1_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.DeleteCommand
SqlDataSource1.DeleteParameters("id").DefaultValue = DataList1.DataKeys(e.Item.ItemIndex).ToString()
' SqlDataSource Delete işlemi
SqlDataSource1.Delete()
End Sub
Protected Sub DataList1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.EditCommand
DataList1.EditItemIndex = e.Item.ItemIndex
DataList1.DataBind()
End Sub
Protected Sub DataList1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.UpdateCommand
'Alanlardan alınan bilgiler
Dim txtid As TextBox = CType(e.Item.FindControl("txtid"), TextBox)
Dim txtAd As TextBox = CType(e.Item.FindControl("txtAd"), TextBox)
Dim txtSoyad As TextBox = CType(e.Item.FindControl("txtSoyad"), TextBox)
Dim txtOgrenim As TextBox = CType(e.Item.FindControl("txtOgrenim"), TextBox)
Dim txtBirim As TextBox = CType(e.Item.FindControl("txtBirim"), TextBox)
Dim baglan As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\personel.mdf;Integrated Security=True;User Instance=True")
Dim ad As String
ad = txtid.Text
'Update komutuyla güncelleştirmemizi yapıyoruz.
'Set kısmından sonra güncelleştireceğiz alan ve yeni değeri belirtiliyor.
Dim guncelle As String = "Update liste Set Ad='" & txtAd.Text & "',Soyad='" & txtSoyad.Text & "',Ogrenim='" & txtOgrenim.Text & "',Birim='" & txtBirim.Text & "' Where id='" & ad & "'"
'Burada Ad ve Soyadı güncelleştiriyoruz.
Dim adp As SqlDataAdapter = New SqlDataAdapter(guncelle, baglan)
Dim ds As DataSet = New DataSet()
baglan.Open()
adp.Fill(ds)
baglan.Close()
End Sub
End Class
Default.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" DataKeyField="id" runat="server" CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333" >
<AlternatingItemStyle BackColor="White" ForeColor="#284775" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<ItemStyle BackColor="#F7F6F3" ForeColor="#333333" />
<ItemTemplate>
id:
<asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>' />
<br />
Ad:
<asp:Label ID="AdLabel" runat="server" Text='<%# Eval("Ad") %>' />
<br />
Soyad:
<asp:Label ID="SoyadLabel" runat="server" Text='<%# Eval("Soyad") %>' />
<br />
Ogrenim:
<asp:Label ID="OgrenimLabel" runat="server" Text='<%# Eval("Ogrenim") %>' />
<br />
Birim:
<asp:Label ID="BirimLabel" runat="server" Text='<%# Eval("Birim") %>' />
<br />
<br />
<asp:LinkButton ID="linkSec" CommandName="Edit" Text="Seç" runat="server">Seç</asp:LinkButton>
<asp:LinkButton ID="linkSil" CommandName="Delete" Text="Sil" OnClientClick="return confirm('Gerçekten silmek istiyormusunuz?');" runat="server">Sil</asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<br/>
<asp:Label id="lblid" Text="Ad:" AssociatedControlID="txtid" runat="server"/>
<asp:TextBox ID="txtid" Text= '<%#Eval("id")%>' runat="server"></asp:TextBox>
<asp:Label id="lblAd" Text="Ad:" AssociatedControlID="txtAd" runat="server"/>
<asp:TextBox ID="txtAd" Text= '<%#Eval("Ad")%>' runat="server"></asp:TextBox>
<br/>
<asp:Label id="lblSoyad" Text="Soyad:" AssociatedControlID="txtSoyad" runat="server"/>
<asp:TextBox id="txtSoyad" Text='<%#Eval("Soyad")%>' runat="server"/>
<br />
<asp:Label id="lblOgrenim" Text="Öğrenim:" AssociatedControlID="txtOgrenim" runat="server"/>
<asp:TextBox id="txtOgrenim" Text='<%#Eval("Ogrenim")%>' runat="server"/>
<br />
<asp:Label id="lblBirim" Text="Birim:" AssociatedControlID="txtBirim" runat="server"/>
<asp:TextBox id="txtBirim" Text='<%#Eval("Birim")%>' runat="server"/>
<br />
<asp:LinkButton id="linkGuncelle" CommandName="Update" Text="Güncelle" runat="server"/>
|
<asp:LinkButton id="linkIptal" CommandName="Cancel" Text="İptal" runat="server"/>
</EditItemTemplate>
<SelectedItemStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
</asp:DataList>
<br />
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:personelConnectionString2 %>"
SelectCommand="SELECT [id], [Ad], [Soyad], [Ogrenim], [Birim] FROM [liste]"
InsertCommand="INSERT INTO [liste] ([id], [Ad], [Soyad], [Ogrenim], [Birim]) VALUES (@id, @Ad, @Soyad, @Ogrenim, @Birim)" UpdateCommand="UPDATE [liste] SET Ad=@AD,Soyad=@Soyad,Ogrenim=@Ogrenim,Birim=@Birim WHERE id=@ID" DeleteCommand="DELETE FROM [liste] WHERE id=@id" >
<InsertParameters>
<asp:Parameter Name="id" Type="Int32" />
<asp:Parameter Name="Ad" Type="String" />
<asp:Parameter Name="Soyad" Type="String" />
<asp:Parameter Name="Ogrenim" Type="String" />
<asp:Parameter Name="Birim" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="id"></asp:Parameter>
<asp:Parameter Name="Ad"></asp:Parameter>
<asp:Parameter Name="Soyad"></asp:Parameter>
<asp:Parameter Name="Ogrenim"></asp:Parameter>
<asp:Parameter Name="Birim"></asp:Parameter>
</UpdateParameters>
<DeleteParameters>
<asp:Parameter Name="id"></asp:Parameter>
</DeleteParameters>
</asp:SqlDataSource>
</div>
</form>
</body>
</html>
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Hoşçakalın. Bahadır ŞAHİN