А>Жаль, Жаль
(( вроде это стандартная проблема для приложений Клиент-Сервер
При Клиент-Сервер эта проблема НАДУМАНА разработчиками.
Кстати, за это некоторые сильно ругают такой подход, как в .NET так и в dbExpress.
А с другой стороны, не вижу реальных проблем (IMHO).
Дело в том, что конечному пользователю НА-ПЛЕ-ВАТЬ на динамическое обновление данных.
А постоянное изменение данных на глазах пользователя может вызвать раздраженение.
Как правило, обновление (одной записи) делается (если очень нужно) при перемежении по записям, используя уникальный ключ. А обновление всего — только по запросу пользователя.
Команда 1: "UPDATE Table ..."
И сразу команда 2: "SELECT * FROM Table WHERE KeyField= ..."
Вообще эту проблему можно решить просто логикой. Грубо — есть статичные таблицы, данные в которых обновляются сравнительно редко, а чаще всего происходит простая выборка. А есть динамические (рабочие) таблицы.
Рабочие таблицы можно организовать как временные (для каждого пользователя) или как "разделенные" по определенному признаку (пример из бухгалтерии — таблица "Журнал", поле "Тип Журнала", которое содержит "Журнал Документов 1", "Журнал Документов 2" и тыды, а каждый пользователь работает в своем журнале).
При этом пользователь работает только в своей области. При завершении работы пользователь запускает "регистрацию", в процессе которой данные переносятся из "рабочей" таблицы в статическую.
Real programmers don't comment their code.
If it was hard to write, it should be hard to understand.