Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Лог изменений в таблице


Devourer ©   (2003-11-24 14:36:00) 

Есть таблица DBF.Юзеры меняют ее(добавляют,изменяют, удаляют записи).

Надо вести лог такого вида:

(дата)(время) (изменение) записи (ID записи)

Ясно, что прога резидентная, обновления по таймеру.Вопрос в главном- как отслеживать изменения?(хранить последнюю копию таблицы и сравнивать с ней?)или есть более быстрые пути?

Спасибо


Oleg_em   (2003-11-24 15:19:00) [1]

если ни в одном поле DBF-ки нет данных о времени внесения изменений то тока одно:
1. делать копию текущей базы скажем BACK_OLD.dbf
2. через 10 минут делать новую копию BACK_NEW.dbf
3. сравнивать каждую запись по нужным полям, делать отчет об изменениях
4. копировать BACK_NEW в BACK_OLD
5. итти на пункт 2

а записей то много ?


Devourer   (2003-11-24 15:17:00) [2]

Спасибо, Reindeer Moss Eater.
Значит я на верном пути


Reindeer Moss Eater   (2003-11-24 15:14:00) [3]

Я бы не стал оперировать непосредственно с этой таблицей.
Импортнул бы ее (например на SQL сервер).
Далее выяснил бы все произошедшие изменения по сравнению с предыдущим импортом (скорее всего прямо на сервере)
Ну и сформировал бы документы


Devourer   (2003-11-24 15:10:00) [4]


> Reindeer Moss Eater © (24.11.03 15:05) [15]
> Тогда лучше ничего не мониторить, а запускать формирователь
> по расписанию


Согласен, но это не принципиально(частота раз в 10 мин меня устраивает)
Вопрос так и остался - как выделить измененные записи


Reindeer Moss Eater   (2003-11-24 15:05:00) [5]

Тогда лучше ничего не мониторить, а запускать формирователь по расписанию


Devourer   (2003-11-24 15:04:00) [6]

Эх если б можно было б сменить техпроцесс- не надо было бы огород городить.
Клипперская прога -базовая система, а я к ней надстройку леплю.
И саму таблицу я не меняю - только снимаю изменения.


DenK_vrtz   (2003-11-24 15:00:00) [7]

>Структуру таблицы менять нельзя,а надо каким-то образом вычислять что юзеры начудили в ней

может лучше прогу без чудес написать?


Reindeer Moss Eater   (2003-11-24 14:59:00) [8]

Может тогда сменить весь техпроцесс?

Зачем программа на клиппере? Только для ввода данных в таблицу, что бы потом по этм данным сформировать новые документы?
Кстати, в этой же таблице?


Reindeer Moss Eater   (2003-11-24 14:56:00) [9]

и по результатам изменений формировать новые документы.

В чьей программе должны формироваться новые документы?


Devourer   (2003-11-24 14:56:00) [10]


> В чьей программе должны формироваться новые документы?

в моей


Devourer   (2003-11-24 14:52:00) [11]

мешать конечно хотелось бы как можно меньше -потому и задаю вопрос


Devourer   (2003-11-24 14:50:00) [12]


> Reindeer Moss Eater © (24.11.03 14:43) [5]
> Ага. Щазз.
> Ему надо в своей программе вести лог изменений вносимых
> третьей программой

Вы все правильно поняли


Reindeer Moss Eater   (2003-11-24 14:49:00) [13]

И ради этого ты будешь мешать работе самих пользователей?


Devourer   (2003-11-24 14:47:00) [14]

нужен не лог как конечная цель - это скорее побочный эффект.
Смысл вкратце в следующем: есть клипперская прога, в которой формируются документы в виде записей в табл.
Структуру таблицы менять нельзя,а надо каким-то образом вычислять что юзеры начудили в ней скажем, за последние 5 минут, и по результатам изменений формировать новые документы.


Reindeer Moss Eater   (2003-11-24 14:43:00) [15]

Ага. Щазз.
Ему надо в своей программе вести лог изменений вносимых третьей программой


Stas   (2003-11-24 14:41:00) [16]

На событие BeforeDelete записываешь в спец. таблицу нужные параметры, на BeforeEdit и т.д. Получается своего рода триггер.


Reindeer Moss Eater   (2003-11-24 14:40:00) [17]

Смысл твоей задумки в чем? Что это даст кроме помехи для пользователей?


Devourer   (2003-11-24 14:39:00) [18]


> Reindeer Moss Eater © (24.11.03 14:38) [1]
> И в чем смысл?

жизни?


Reindeer Moss Eater   (2003-11-24 14:38:00) [19]

И в чем смысл?


Наверх

Титульная страница Поиск, карта сайта Написать письмо