Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2012, 10:14   #1
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию как проверить, были ли изменения в БД?

привет!
на форме у меня есть timer, на котором:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
dm.note.close;
dm.note.Open;
end;
как отследить что в бд были изменения (добавление или редактирование) и вывести сообщение "были изменения в бд"
kate158 вне форума Ответить с цитированием
Старый 16.05.2012, 10:39   #2
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Чтобы "отследить", надо иметь предыдущие значения и сравнивать с текущими.
=master= вне форума Ответить с цитированием
Старый 16.05.2012, 10:42   #3
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

триггер ?

Последний раз редактировалось kate158; 16.05.2012 в 10:49.
kate158 вне форума Ответить с цитированием
Старый 16.05.2012, 10:45   #4
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
Чтобы "отследить", надо иметь предыдущие значения и сравнивать с текущими.
если в таблице 4000 записей и модифицировалась 3100 ? где их хранить?

автор, а что за субд?
googl вне форума Ответить с цитированием
Старый 16.05.2012, 10:46   #5
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

триллер ?
=master= вне форума Ответить с цитированием
Старый 16.05.2012, 10:48   #6
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от kate158 Посмотреть сообщение
триггер ?
нужен же сам факт? триггер- интересно. завести отдельную таблицу с полями "название таблицы" и "дата последнего изменения"
Проверять ее.
googl вне форума Ответить с цитированием
Старый 16.05.2012, 10:49   #7
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

субд sql server 2000/ средствами delphi как то можно сделать? может afterpost
kate158 вне форума Ответить с цитированием
Старый 16.05.2012, 10:52   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Можно и через триггера, в которых при обновлении основных таблиц некий признак или счетчик пишется во вспомогательную таблицу. А прога в таймере читает данные из этой вспомогательной таблицы

Дубль 2 получился
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.05.2012, 10:52   #9
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от kate158 Посмотреть сообщение
субд sql server 2000/ средствами delphi как то можно сделать? может afterpost
так а суть проверка глобальная? или на уровне работы с программой? В смысле определить вносились ли изменения в базу во время сеанса работы с программой?
googl вне форума Ответить с цитированием
Старый 16.05.2012, 10:54   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

afterpost не поможет если много юзеров
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как прервать выполнение всех функций которые были запущены setTimeout Arassir JavaScript, Ajax 1 20.10.2011 16:20
как проверить сущестуют ли файлы xls с известными именами в папке и произвести изменения в них? united11 Microsoft Office Excel 13 18.07.2011 19:32
Как построить такой график (что бы точки были соеденены) DesignFootball.Ru Паскаль, Turbo Pascal, PascalABC.NET 8 17.03.2011 01:51
как работать с компанентами, которые были созданы программно? morgonXak Компоненты Delphi 6 20.12.2010 18:38
Как сделать чтобы новые строки всегда были в области видимости? neugadal Microsoft Office Excel 9 06.09.2008 12:23