FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9176
Вход
Система, позволяющая фиксировать, что делали пользователи с данными в БД

Несложная система для логирования изменений в таблицах БД. Помогает узнать, кто, когда, какие данные редактировал.


 
Прислал: Igor Ilyin   Категория: Инструменты разработчика


Система, позволяющая фиксировать, что делали пользователи с данными в БД

Никогда не попадали в ситуацию, когда пользователи напортачили в базе, а потом утверждают, что "это ваша программа криво работает" ? Что поделать, не было в Фоксе встроенных средств журналирования...

Теперь есть :))) Конечно, данное решение достаточно простое, и не может служить средством защиты от аппаратных сбоев (как, например, в MS SQL). А вот от "человеческого фактора" защищает очень надежно.

Кроме того, система позволяет получать статистику работы пользователей (например, внесено X новых договоров, Y новых клиентов, Z клиентов отредактировано).

Данный пример легко может быть встроен в уже существующую БД.

Версия 2.0

Т.к. с первой версией ни у кого проблем не возникло ;), система несколько усложнена.
Зато пользоваться ей стало проще :)

Протестировано в VFP 6, 7, 8.
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.897) Вложение [21.65]kb
Дополнения пользователей
Система, позволяющая фиксировать, что делали пользователи с данными в БД
[+][?]
Igor Ilyin
23.02.04 15:15:33

Выложена версия 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
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика