Here's the setup: This problem concerns locking a given record from the application. The application is written in C++ (MFC). The database in question is an Oracle 8i database. The primary problem seems to be that the Oracle ODBC driver doesn't support dynamic or dynaset type recordsets. We can only select stuff as forward only, and static. It also doesn't seem to support the pessimistic locking functionality of CRecordset.<br><br>User A opens a record with the intent of updating them. While User A is making modifications to the record, User B opens the same record with the intent of updating it. User A finishes his modifications, and commits the record. User B finishes his modifications, and commits the record, therby nuking everything User A has just saved.<br><br>I can construct my SQL statement using the "FOR UPDATE OF ColumnName NOWAIT" clause, and this _kind of_ works. The drawback is that the application doesn't realise that the record is locked until User B tries to commit the record, at which point Oracle begins to make noise about the record being locked. At this point, User B has to refetch the record, and consequently loses all of his modifications. What I'm looking for is a way for User B to know that somebody else is modifying the record, and he can't play with it right now (i.e. it's read only).<br><br>Any thoughts? I can't believe that I'm the first person who's had to deal with this, but I haven't been able to find a single thing that addresses this issue! <grrrrrrr!><br> <p>Beau Jackson<br><a href=mailto:bjackson@bloomington.in.us>bjackson@bloomington.in.us</a><br><a href= > </a><br>