Система, позволяющая фиксировать, что делали пользователи с данными в БД
Никогда не попадали в ситуацию, когда пользователи напортачили в базе, а потом утверждают, что
"это ваша программа криво работает" ? Что поделать, не было в Фоксе встроенных средств
журналирования...
Теперь есть :))) Конечно, данное решение достаточно простое, и не может служить средством защиты от
аппаратных сбоев (как, например, в MS SQL). А вот от "человеческого фактора" защищает очень
надежно.
Кроме того, система позволяет получать статистику работы пользователей (например, внесено X новых
договоров, Y новых клиентов, Z клиентов отредактировано).
Данный пример легко может быть встроен в уже существующую БД.
Версия 2.0
Т.к. с первой версией ни у кого проблем не возникло ;), система несколько усложнена.
Зато пользоваться ей стало проще :)
Выложена версия 2.0
Основные отличия от версии 1.1
1. По предложению Екатерины Балбуцкой (aka Кэт)
уменьшено количество передаваемых параметров.
Раньше их было два. Теперь - один, да и тот необязательный :)
2. По предложению GUEST отдельно фиксируется
восстановление записи.
3. Таблицы с полями типа General обрабатываются без ошибок.
Мелочь, но все же :)
Igor Ilyin
05.02.04 11:00:16
Как мне кажется, подобная функциональность нужна в каждом
втором приложении, и потому должна была вызвать достаточно
бурное обсуждение. А тут - тишина...
Неужели у всех все заработало с первого раза?
И нет никаких замечаний, пожеланий?
Syberex
05.02.04 11:24:40
Все заработало с первого раза!
Правда со своей базой не пробовал...
Интересное решение, потом только
сделаю по своему - свои коды знаешь
как свои пять ...
GUEST
16.02.04 17:59:07
Чтоб решение претендовало на универсальность, добавь обработку восстановления записи. У тебя
сейчас считается, что recall = insert.
w3d
11.10.06 09:20:58
Почему-то записываются в chahge_log записи с пустым memo-полем.
karly™
11.10.06 10:50:35
При добавлении записи изменения полей не фиксируются - и так понятно, что раньше этой записи не
было, а добавленные значения можно посмотреть в самой записи.
А вот при редактировании система сравнивает старые и новые значения, и сохраняет в мемо-поле
информацию, что на что поменяли.
Это поведение легко исправить в коде, добавив запись изменений не только при UPDATE, но и при INSERT