ASP.Net/ADO.net Database/DataGrid Delete
Версия от 15:30, 26 мая 2010; (обсуждение)
Bind asp:datagrid delete action to asp:linkbutton
<%@ 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">
<BR><BR>
<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"
/>
<BR><BR>
<asp:datalist
id="dlDepts"
runat="server"
OnDeleteCommand="DataList_Delete"
gridlines="Both"
backcolor="lightyellow"
forecolor="darkred"
>
<itemtemplate>
<B>Department: </B>
<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>
<A href="http://www.nfex.ru/Code/ASPDownload/EmployeeDatabase.zip">EmployeeDatabase.zip( 10 k)</a>
Delete record through asp:datagrid
<%@ 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">
<BR><BR>
<asp:Label
id="lblMessage"
runat="server"
/>
<BR><BR>
<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>
<A href="http://www.nfex.ru/Code/ASPDownload/EmployeeDatabase.zip">EmployeeDatabase.zip( 10 k)</a>