Updating to a database from a detailsview template field
So in WPF, for example, you can set the Data Context property of an entire window to an object, and then for each control on that window say from which properties of that object the WPF runtime should get their value.
For example, for an Employee viewmodel with Forename and Surname properties, you might create an Employee View window with two textboxes, where one is "bound" to the Forename property and the other is "bound" to the Surname property.
For example, when clicking the Edit button in an editable Grid View, the record's values are read from the database and displayed in Text Boxes and other Web controls. Later, after the user makes her changes and clicks the Update button, the original values plus the new values are sent to the Business Logic Layer, and then down to the Data Access Layer.
The Data Access Layer must issue a SQL statement that will only update the record if the original values that the user started editing are identical to the values still in the database. Figure 2: For the Update or Delete to Succeed, the Original Values Must Be Equal to the Current Database Values (Click to view full-size image) There are various approaches to implementing optimistic concurrency (see Peter A.
For example, the Grid View control displays a Bound Field object as a column, while the Details View control displays it as a row.
For a web application that allows multiple users to edit data, there is the risk that two users may be editing the same data at the same time.
For web applications that only allow users to view data, or for those that include only a single user who can modify data, there's no threat of two concurrent users accidentally overwriting one another's changes.
This is in contrast to the typical approach in the days of VB6, where setting those textboxes' content would be done in the codebehind of the form (e.g. Data binding in VB6 (and Win Forms, for that matter) is different, where the framework does what I described above, but automates getting data from a database in the process.
That's fallen out of favour in recent years, though (and for good reason).
For example, imagine that two users, Jisun and Sam, were both visiting a page in our application that allowed visitors to update and delete the products through a Grid View control.
Both click the Edit button in the Grid View around the same time.