Форум: "Базы";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];
ВнизДопросить базу данных Найти похожие ветки
← →
Silver_ (2003-03-11 14:55) [0]1. как спросить у самой таблицы время последней её модификации (записи)
2. как ПРОГРАММНО ловить попытку записи в БД (таблицу) типа MyDBChange(Sender: TDataSet)
← →
Silver_ (2003-03-11 15:26) [1]пояснения к п.1
1. в Access например есть время последней модификации структуры
может есть и время последней модификации записей
п.2. вобще реализуем кто-нить в курсе
← →
Silver_ (2003-03-11 15:46) [2]а как тогда делаете Refresh на БД тока не говорите что берете все таблицы и ... Refresh это ж полная ж. (по времени)
← →
zacho (2003-03-11 16:12) [3]Скажи сначало, какая БД, вряд-ли здесь найдутся телепаты :-)
← →
Silver_ (2003-03-11 16:15) [4]Access
но желательно ПРОГРАММНО
← →
Val (2003-03-11 16:25) [5]Silver_ (11.03.03 15:46)
желание знать справедливо, но вот этот пост меня несколько смущает. раскажите-ка, на кой вам это надо.
← →
Silver_ (2003-03-11 16:36) [6]Чтоб рефрешить тока изменившуюся таблицу
по поводу п. 2. мона навешать триггеров но...
...ПРОГРАММНО - требования такие
1. чтоб быстро и легко адаптировалась к другой СУБД
- не все СУБД поддерживають триггеры к тому же триггеры на каждую таблицу :(((
а если решить п.2. то про п.1. мона забыть
нужно решение хотя бы по одному пункту (любому)
← →
Val (2003-03-11 16:47) [7]>Silver_ (11.03.03 16:36)
Чтоб рефрешить тока изменившуюся таблицу..
а у вас юзеру одновременно вся база показывается, что-ли?
по пункту 2 - триггера тоже программно пишутся :)
по поводу работы без триггеров - так практически все компоненты представления наборов данных имеют события BeforeInsert/Update и т.д. и т.п...
← →
Silver_ (2003-03-11 17:31) [8]
> а у вас юзеру одновременно вся база показывается, что-ли?
вобщето нет правда есть некоторые формы где обьекты привязаны к разным таблицам (со связью Master-Detail как правило)
- просто думал как бы в одном месте (по таймеру) сделать рефреш
для любой таблицы без разницы какая показыватся (потому что до этих пор не следил какая показыватся (т.е. не имел глобального указателя на текущую таблицу) - теперь решил поставить
один DBNavigator для всех таблиц и придется следить (чтоб DataSource поправлять))
> по пункту 2 - триггера тоже программно пишутся :)
вот этого ни разу не делал :( , покажи пример (щоб знал) плз.
(ранише писал под SyBase тама триггеры сразу в базу ставил)
по поводу
> BeforeInsert/Update и т.д. и т.п...
я в курсе :) но не хотелось всем DataSet-aм ссылку ставить думал другой подход есть
и било бы касиво если б поставить триггер (BeforeInsert/Update) на БД :))
если есть просим в студию :)
← →
Val (2003-03-11 17:48) [9]и било бы касиво если б поставить триггер (BeforeInsert/Update) на БД :))
что-то вы, уважаемый путаете. триггера ставятся на таблицы понятие бд весьма абстрактно - в dBase это 1 таблица,в Oracle - это ряд схем...и т.д.
триггер ни разу не видели? да пожалуйста ;):
CREATE OR REPLACE TRIGGER trbuhousepaymbase_nomodifyid
BEFORE UPDATE
ON housepaymbase
FOR EACH ROW
WHEN (
New.ID <> Old.ID)
begin
pkg_errors.raise_error(115243);
end;
/
← →
MsGuns (2003-03-11 21:49) [10]А эвентов в аксессе нет ?
← →
Silver_ (2003-03-12 13:11) [11]
> триггер ни разу не видели? да пожалуйста ;):
видели тока вручную из проги не писали :) (под SyBase)
> MsGuns © (11.03.03 21:49)
> А эвентов в аксессе нет ?
вроде нет :(
Конкретный пример БД содержит таблиц 30
программой одновременно пользуются юзеров 10 и постоянно вносят изменения в БД
у каждого из ни постоянно должна быть последние изменения
!- Рефреш по таймеру текущую(щие- если на одной форме данные из больше одной) таблицы
*- справедливо но Рефреш происходит медленно если таблицы содержат много записей или
имеют много связаных с ней
Решение не рефрешить если никто не произвел изменения (что мне и нужно)
- следующий этап выполнать Рефреш незаметно для пользователя
!- Триггеры (Before/After Insert,Post...) скажете вы
*- но цеплять ссылку на каждую таблицу мне кажется некрасивым подходом
Вот и ищу другой подход (потому что хочется сделать компонент
вставил в проект а он сам ловит кто изменился, кого менять... :)
или по крайней мере делать все это для всех таблиц в одном месте без ссылки
на какойнибудь там (Before/After Insert,Post...)
- согласитесь не очень удобно добавил таблицу, не забудь про ссылку(и)... :(
!- Хочу вроде Триггеры (Before/After Insert,Post...) на БАЗУ ДАННЫХ (Соединение что-ли) :)))))
MyDBChange(Sender: TDataSet), где Sender это DataSet (а еще лучше TableName из БД :)
в котором (...) запись
← →
Соловьев (2003-03-12 13:14) [12]Может стоить сделать трех звенку и сервак будет рассылать месаги клиентам для обновления?
← →
Silver_ (2003-03-12 14:15) [13]
> сервак будет рассылать месаги клиентам для обновления?
так вопрос в том и состоит
> делать все это для всех таблиц в одном месте без ссылки
> на какойнибудь там (Before/After Insert,Post...)
> - согласитесь не очень удобно добавил таблицу, не забудь
> про ссылку(и)... :(
← →
Соловьев (2003-03-12 14:39) [14]Ну так в чем проблема? По Мидасу доков хоть отбавляй...
← →
Silver_ (2003-03-12 14:45) [15]
> Соловьев ©
Где. Ссылочку кинь, если не трудно :)
← →
Соловьев (2003-03-12 14:59) [16]Вот одна там есть неплохая статейка:
http://delphi.diagnostic.ru:8101/documentation.html
А так www.ya.ru и вперед.
← →
Соловьев (2003-03-12 15:08) [17]http://docs.gets.ru
← →
Silver_ (2003-03-12 17:01) [18]Спасибо!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c