Preferred Language:
Listing 11.14 - Concurrency.aspx
Illustrates how to gracefully handle situations in which multiple people update the same record at the same time when using an ASP.NET GridView control.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
protected void srcMovies_Updated(object sender, SqlDataSourceStatusEventArgs e)
{
if (e.AffectedRows == 0)
lblMessage.Text = "Could not update record";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Concurrency</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblMessage" EnableViewState="false" runat="server" />
<asp:GridView
id="grdMovies"
DataSourceID="srcMovies"
DataKeyNames="Id"
AutoGenerateEditButton="true"
Runat="server" />
<asp:SqlDataSource
id="srcMovies"
ConflictDetection="CompareAllValues"
OldValuesParameterFormatString="original_{0}"
ConnectionString="<%$ ConnectionStrings:Movies %>"
SelectCommand="SELECT Id,Title,Director FROM Movies"
UpdateCommand="UPDATE Movies SET Title=@Title, Director=@Director
WHERE Id=@original_Id AND Title=@original_Title AND Director=@original_Director"
Runat="server" OnUpdated="srcMovies_Updated" />
</div>
</form>
</body>
</html>
Need ASP.NET and Visual Studio 2008 Training?
- Learn ASP.NET 3.5 from Stephen Walther, author of ASP.NET 3.5 Unleashed.
We've provided ASP.NET training for NASA, Lockheed Martin, the National Science Foundation, Verizon,
Boeing, the US House of Representatives, Kaiser, Petco, Mary Kay, and Microsoft.
Why not your company?
-
Receive a four day, hands-on, intensive workshop.
-
We fly to you, anywhere in the world.
-
We can bring our own laptops.
To learn more, visit the
Superexpert Training website.