Handling Concurrency Issues: CompareAllValues or OverwriteChanges : DetailsView « ADO.net Database « ASP.Net






Handling Concurrency Issues: CompareAllValues or OverwriteChanges


<%@ 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 srcProducts_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:DetailsView
        id="dtlProducts"
        DataKeyNames="Id"
        AutoGenerateEditButton="true"
        AllowPaging="true"
        DataSourceID="srcProducts"
        Runat="server" />

    <asp:SqlDataSource
        id="srcProducts"
        ConnectionString="<%$ ConnectionStrings:Products %>"
        SelectCommand="SELECT Id,Title,Director,InStocks FROM Products"
        UpdateCommand="UPDATE Products
            SET Title=@Title,Director=@Director,InStocks=
            WHERE Title=@original_Title
            AND Director=@original_Director
            AND InStocks=@InStocks
            AND Id=@original_Id"
        ConflictDetection="CompareAllValues"
        OldValuesParameterFormatString="original_{0}"
        Runat="server" OnUpdated="srcProducts_Updated" />

    </div>
    </form>
</body>
</html>


File: Web.config

<configuration>
  <connectionStrings>
    <add name="Products" 
         connectionString="Data Source=.\SQLEXPRESS;
         AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />
  </connectionStrings>
</configuration>

 








Related examples in the same category

1.Link DetailsView with SqlDataSource and do the editing
2.Using a PagerTemplate to customize the paging interface.
3.Editing a record with the DetailsView control.
4.Displaying a Master/Detail form with the DetailsView control.
5.Using a template when editing with the DetailsView control.
6.Inserting Data with the DetailsView Control
7.Deleting Data with the DetailsView Control
8.Use the ItemInserted event to handle any errors
9.Adding an AutoGenerateInsertButton attribute to the DetailsView
10.Using the GridView and DetailsView together
11.Enabling paging on the DetailsView control
12.Customizing the display of the DetailsView control