Record locking in ADO.NET

I am currently stuck by record locking in ADO.NET. I'm using dataset and want to lock an individual record (such as a warning message) if a record is being updated by another user. Since the dataset is in disconnected model, and I do not have a consistent connection, how can the record lock be implemented? Is it better to use pessimistic or optimistic concurrency control?
Optimistic is always better; it scales. You can use the timestamp approach, by having such a field on the underlying table. Before updating a record, you compare your timestamp (the one in the disconnected dataset) with the one in the database table for that record. If they are not equal, it means somebody else changed if before. Then, you can either throw an exception, warn the user he's about to overwrite some other's work, or reload the data and show a conflict resolution UI, or whatever.
This was last published in November 2003

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.



Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: