ASP.Net/ADO.net Database/DataGrid Delete

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Bind asp:datagrid delete action to asp:linkbutton

   <source lang="csharp">

<%@ Page Language=VB Debug=true %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OLEDB" %> <script runat=server> Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)

   If Not IsPostBack Then
       BuildDataList
   End If

End Sub Sub DataList_Delete(sender As Object, e As DataListCommandEventArgs)

   Dim TheID as String
   TheID = CType(e.Item.FindControl("lblID"), Label).Text
   Dim DBConn as OleDbConnection
   Dim DBDelete As New OleDbCommand
   DBConn = New OleDbConnection( _
       "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
       & "DATA SOURCE=" _
       & Server.MapPath("EmployeeDatabase.mdb;"))
   DBDelete.rumandText = "Delete From Employee Where " _
       & "ID = " & TheID
   DBDelete.Connection = DBConn
   DBDelete.Connection.Open
   DBDelete.ExecuteNonQuery()
   DBConn.Close
   BuildDataList

End Sub Sub BuildDataList ()

       Dim DBConn as OleDbConnection
       Dim DBCommand As OleDbDataAdapter
       Dim DSPageData as New DataSet
       DBConn = New OleDbConnection( _
           "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
           & "DATA SOURCE=" _
           & Server.MapPath("EmployeeDatabase.mdb;"))
       DBCommand = New OleDbDataAdapter _
           ("Select ID, FirstName, LastName " _
           & "From Employee " _
           & "Order By FirstName", DBConn)
       DBCommand.Fill(DSPageData, _
           "Employee")
       dlDepts.DataSource = _
           DSPageData.Tables("Employee").DefaultView
       dlDepts.DataBind()   

End Sub </SCRIPT> <HTML> <HEAD> <TITLE>Removing Rows from a DataList Control</TITLE> </HEAD> <Body LEFTMARGIN="40"> <form runat="server">

<asp:Label

   id="lblMessage" 
   Font-Size="12pt"
   Font-Bold="True"
   Font-Name="Lucida Console"
   text="Below is a list of all the Employee"
   runat="server"

/>

<asp:datalist

   id="dlDepts" 
   runat="server" 
   OnDeleteCommand="DataList_Delete"
   gridlines="Both"
   backcolor="lightyellow"
   forecolor="darkred"

>

   <itemtemplate>
       Department: 
       <asp:label
           id="lblID"
           runat="server"
           text="<%# DataBinder.Eval(Container.DataItem, "ID") %>"
           visible="False"
       />
       <%# DataBinder.Eval(Container.DataItem, "FirstName") _
           & " - " _
           & DataBinder.Eval(Container.DataItem, "LastName") 
        %>
        <asp:LinkButton 
            id="butDelete" 
             Text="Delete" 
             CommandName="Delete"
             runat="server"
         />
   </itemtemplate>

</asp:datalist> </form> </BODY> </HTML>

      </source>
   
  

<A href="http://www.nfex.ru/Code/ASPDownload/EmployeeDatabase.zip">EmployeeDatabase.zip( 10 k)</a>


Delete record through asp:datagrid

   <source lang="csharp">

<%@ Page Language=VB Debug=true %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OLEDB" %> <script runat=server> Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)

   If Not IsPostBack Then
       BuildDataList
   End If

End Sub Sub Click_Grid(ByVal Sender as Object, ByVal E as DataGridCommandEventArgs)

   Dim TheID as String
   TheID = E.Item.Cells(1).Text
   Dim DBConn as OleDbConnection
   Dim DBDelete As New OleDbCommand
   DBConn = New OleDbConnection( _
       "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
       & "DATA SOURCE=" _
       & Server.MapPath("EmployeeDatabase.mdb;"))
   DBDelete.rumandText = "Delete From Employee Where " _
       & "ID = " & TheID
   DBDelete.Connection = DBConn
   DBDelete.Connection.Open
   DBDelete.ExecuteNonQuery()
   DBConn.Close
   BuildDataList

End Sub Sub BuildDataList ()

       Dim DBConn as OleDbConnection
       Dim DBCommand As OleDbDataAdapter
       Dim DSPageData as New DataSet
       DBConn = New OleDbConnection( _
           "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
           & "DATA SOURCE=" _
           & Server.MapPath("EmployeeDatabase.mdb;"))
       DBCommand = New OleDbDataAdapter _
           ("Select LastName & ", " & FirstName " _
           & "as FullName, ID From Employee " _
           & "Order By LastName, FirstName", DBConn)
       DBCommand.Fill(DSPageData, _
           "Employee")
       dgEmps.DataSource = _
           DSPageData.Tables("Employee").DefaultView
       dgEmps.DataBind()

End Sub </SCRIPT> <HTML> <HEAD> <TITLE>Removing Rows from a DataGrid Control</TITLE> </HEAD> <Body LEFTMARGIN="40"> <form runat="server">

<asp:Label

   id="lblMessage" 
   runat="server"

/>

<asp:datagrid

   id="dgEmps" 
   runat="server" 
   autogeneratecolumns="false"
   onitemcommand="Click_Grid"

>

   <columns>
       <asp:boundcolumn 
           HeaderText="Full Name" 
           DataField="FullName"
       />
       <asp:boundcolumn 
           DataField="ID"
           Visible=False
       />
       <asp:buttoncolumn
           HeaderText="Click to Delete" 
           ButtonType="PushButton" 
           Text="Delete Record"
       />
   </columns>

</asp:datagrid> </form> </BODY> </HTML>

      </source>
   
  

<A href="http://www.nfex.ru/Code/ASPDownload/EmployeeDatabase.zip">EmployeeDatabase.zip( 10 k)</a>