ListViewDeletedEventArgs.AffectedRows Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the number of rows that were affected by the delete operation.
public:
property int AffectedRows { int get(); };
public int AffectedRows { get; }
member this.AffectedRows : int
Public ReadOnly Property AffectedRows As Integer
Property Value
The number of rows that were affected by the delete operation.
Examples
The following example shows how to use the AffectedRows property to verify that an item was deleted during the delete operation.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load()
{
Message.Text = String.Empty;
}
void ContactsListView_ItemDeleted(Object sender, ListViewDeletedEventArgs e)
{
// Determine whether an exception occurred during the delete operation.
if (e.Exception == null)
{
// Ensure that a record was deleted.
if (e.AffectedRows > 0)
{
Message.Text = e.AffectedRows + " item(s) deleted successfully.";
}
else
{
Message.Text = "No item was deleted.";
}
}
else
{
// Insert the code to handle the exception here.
// Indicate that the exception has been handled.
e.ExceptionHandled = true;
Message.Text = "An error occurred during the delete operation.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ListViewDeletedEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListViewDeletedEventArgs Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemDeleted="ContactsListView_ItemDeleted"
runat="server">
<LayoutTemplate>
<table cellpadding="2" runat="server" id="tblContacts" width="640px">
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
<Fields>
<asp:NextPreviousPagerField
ShowFirstPageButton="true" ShowLastPageButton="true"
FirstPageText="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td valign="top">
<asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
</td>
<td>
<asp:LinkButton ID="DeleteButton" runat="server"
CommandName="Delete"
Text="Delete"
OnClientClick="return confirm('Are you sure?');" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress]
FROM Person.Contact"
DeleteCommand="DELETE FROM Person.Contact WHERE [ContactID] = @ContactID">
<DeleteParameters>
<asp:Parameter Name="ContactID" Type="Int32" />
</DeleteParameters>
</asp:SqlDataSource>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load()
Message.Text = String.Empty
End Sub
Sub ContactsListView_ItemDeleted(sender As Object, e As ListViewDeletedEventArgs)
' Determine whether an exception occurred during the delete operation.
If e.Exception Is Nothing Then
' Ensure that a record was deleted.
If e.AffectedRows > 0 Then
Message.Text = e.AffectedRows.ToString() & _
" item(s) deleted successfully."
Else
Message.Text = "No item was deleted."
End If
Else
' Insert the code to handle the exception here.
' Indicate that the exception has been handled.
e.ExceptionHandled = true
Message.Text = "An error occurred during the delete operation."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListViewDeletedEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListViewDeletedEventArgs Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemDeleted="ContactsListView_ItemDeleted"
runat="server">
<LayoutTemplate>
<table cellpadding="2" runat="server" id="tblContacts" width="640px">
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
<Fields>
<asp:NextPreviousPagerField
ShowFirstPageButton="true" ShowLastPageButton="true"
FirstPageText="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td valign="top">
<asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
</td>
<td>
<asp:LinkButton ID="DeleteButton" runat="server"
CommandName="Delete"
Text="Delete"
OnClientClick="return confirm('Are you sure?');" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress]
FROM Person.Contact"
DeleteCommand="DELETE FROM Person.Contact WHERE [ContactID] = @ContactID">
<DeleteParameters>
<asp:Parameter Name="ContactID" Type="Int32" />
</DeleteParameters>
</asp:SqlDataSource>
</form>
</body>
</html>
Remarks
Use the AffectedRows property to determine the number of items that were affected by the delete operation, as reported by the data source control. This property is typically used to determine whether the correct number of items were deleted in the following ways:
To verify that only a single item was deleted. Sometimes an incorrectly written delete statement can delete multiple items.
To verify that an item was deleted if an error occurs during the delete operation but no exception was raised.
To verify that an item was deleted when a data source control that supports optimistic concurrency (such as the SqlDataSource and ObjectDataSource controls) has its ConflictDetection property set to the
ConflictOptions.CompareAllValues
enumeration value. Under this setting, an item that has been modified by another user might not be deleted.