What are the ways to implement locking in ADO.NET?
There are many ways to implement locking using ADO.NET which are shown below:-
1)Whenever we call "Update" method of DataAdapter it handles locking internally.
If the DataSet values are not matching with the current data in Database it raises concurrency exception error. We can easily find this error by using Try..Catch block and raise the appropriate error message to the user.
2)We can also define a Datetime stamp field in the table.When actually you are firing the UPDATE SQL statements compare the current timestamp with one existing in the database. The sample SQL below checks for the timestamp before updating and any mismatch in the timestamp will not update the records. This is the best method used by industries for locking.
Update table1 set field1=@test where LastTimeStamp=@CurrentTimeStamp
3) We can also check for the original values stored in the SQL SERVER and actual changed values. In stored procedure check before updating that the old data is similar as the current. Fore Example shown below SQL before updating the field1 we check that is the old field1 value same. If not then someone other has updated and necessary steps has to be taken.
Update table1 set field1=@test where field1 = @oldfield1value