Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.20;
Скачать: CL | DM;

Вниз

interbase   Найти похожие ветки 

 
SergBBS   (2003-02-26 13:06) [0]

Здравствуйте!

Уважаемые мастера! Подскажите как обновить пользователям набор данных при изменении или добавлении одним из них записи. Используется interbase 5.5


 
Alexandr ©   (2003-02-26 13:12) [1]

close open


 
Smashich ©   (2003-02-26 13:19) [2]

Requery, Refresh


 
Alexandr ©   (2003-02-26 13:39) [3]

а Interbase 5.5 лучше не использовать.
Юзай Firebird


 
SergBBS   (2003-02-26 14:29) [4]

А чем плох InterBase 5.5? Или чем лучше FireBird?


 
Smashich ©   (2003-02-26 14:47) [5]

FireBird - основан на IB6 + куча ошибок исправленно, бесплатен


 
SergBBS   (2003-02-26 14:55) [6]

А чем плох InterBase 5.5? Или чем лучше FireBird?


 
zacho ©   (2003-02-27 10:22) [7]

В 5.5 есть весьма серьезные баги, могущие привести к разрушению БД. Т.ч. использовать надо как минимум 5.6. Кстати, насколько помню, апдейт 5.5 до 5.6 был бесплатным. А насчет FB - смотри www.ibase.ru и далее по ссылкам


 
Vladimir ©   (2003-02-27 12:17) [8]

Собственно на вопрос никто не ответил - используй IBEventAlerter. На изменение данных (удал,добав,изм) ставишь post(event), регистрируешь события в программе и отрабатываешь собственно Close Open (Refresh), как подсказывали выше.


 
Johnmen ©   (2003-02-27 12:28) [9]

>Vladimir © (27.02.03 12:17)

Методологически - это вариант.
По жизни - весьма сомнительное мероприятие, громоздкое и глюкавое в силу оцтойности IBEventAlerter :)))


 
Vladimir ©   (2003-02-27 12:57) [10]

>Johnmen ©
Согласен, немного стоит приложить руки к нему. Апдейты там поставить... Да и после них надо напильником поработать. А так вобщем-то совсем даже ничего.


 
Roki   (2003-02-27 13:01) [11]

Я вот делаю как Вы посоветовали close open у IBDataSet , а обновления я не вижу...Хотя в БД они лежат. CommitRetaining использую. Почему программа не получает данные с сервера при close open?


 
Johnmen ©   (2003-02-27 13:08) [12]

Получает.
Видимо не выставлены параметры транзакции. Даблклик на IBTransaction...


 
Roki   (2003-02-27 13:23) [13]

2 Johnmen ©
Спасибо, опять меня выручил.
О сделал:
read_committed
rec_version
nowait

заработало.


 
SergBBS   (2003-02-27 14:53) [14]

Я вот по поводу IBEventAlerter. Нашел в примерах его использование, а там еще стоит компонент TStoredProc. Насколько я понимаю в базе должна быть какая-то процедура. А как ее туда засунуть я не понимаю (делается это с помощью сервера InterBase или с помощью какого-то компонента в Delphi или еще как). Я вот читал документацию по серверу Interbase и там все сплошь одни операторы, которые выполняются с помощью Sql Explorer-а, а как это применить в програмке на Delphi? Может кто-нибудь объяснит ?


 
Desdechado ©   (2003-02-27 15:53) [15]

через компоненты типа TQuery


 
Vladimir ©   (2003-02-27 16:19) [16]


> там еще стоит компонент TStoredProc

Там это где??? В базе ставишь на триггере
post_event("ME_EVENT");
В событиях Alerter"а пишешь те же самые строки. При чем здесь StoredProc?!


 
SergBBS   (2003-02-27 16:33) [17]

Vladimir! Я наверное чего-то не понимаю, объясни как в базе поставить триггер. Пожалуйста!


 
Vladimir ©   (2003-02-27 17:28) [18]

Таблица
TABLE1(
rec integer not null primary key,
name varchar(10))

Генератор GEN_TABLE1_REC
Триггер на вставку записи в базу: присваивает автоинкрементом поле REC, NAME пишет имя пользователя, делающего вставку, вызывает событие "new_in_table1":
CREATE TRIGGER TABLE1_BI FOR TABLE1
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
NEW.REC = GEN_ID(GEN_TABLE1_REC,1);
NEW.NAME=user;
post_event("new_in_table1");
END

Пробуй.


 
SergBBS   (2003-02-28 09:14) [19]

Vladimir!
Прости меня за глупый вопрос, но как применить данный код: через интерактивный sql на сервере или через компонент Query.


 
Johnmen ©   (2003-02-28 09:29) [20]

>SergBBS (28.02.03 09:14)

Примеры применения и указанного кода и других кодов есть в SQL Reference Help, и заглянуть туда проще и быстрее, чем сюда...


 
Sergey13 ©   (2003-02-28 09:44) [21]

2SergBBS (28.02.03 09:14)
Ты меня извини конечно, тезка, но (судя по твоим вопросам) брось ты на фиг заниматься тем вопросом,с которого начал ветку. Отложи годика на два. Тем паче что конечный результат ну о-о-о-очечень сомнителен. Поверь.
Без знаний арифметики алгебры не поймешь.


 
Vladimir ©   (2003-02-28 10:42) [22]

> Sergey13 © Не смущай человека, начинать-то надо с чего-то.
SergBBS
Совет насчет заглянуть в SQL-Ref не стоит отвергать, однако...
Когда речь идет об изменении метаданных (структуры БД), то это либо скрипт, либо iSQL (что, в принципе, одно). Про сторонние компоненты речи нет.
Здесь тебе необходимо произвести изменение структуры БД - поставить триггер на изменения в таблице. Что такое триггер, более точно прочитай в справке. Create trigger выполняется в iSQL.


 
Johnmen ©   (2003-02-28 10:47) [23]

>Vladimir © (28.02.03 10:42)
>> Sergey13 © Не смущай человека, начинать-то надо с чего-то.

Ну да, давай начнем изучение с вопросов в форумы...:)




 
SergBBS   (2003-02-28 11:17) [24]

Большое спасибо за ваши ответы, но не надо из-за меня начинать перепалку.


 
MsGuns ©   (2003-02-28 11:17) [25]

Очень рекомендую IBExpert - хорошая вещь.
www.ibexprt.com

Там все доходчиво и красиво (в стиле IDE Delphi).



Страницы: 1 вся ветка

Текущий архив: 2003.03.20;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.013 c
14-64386
SergeN
2003-03-05 08:02
2003.03.20
МК-61, МК-52, ...


14-64289
Vladimir
2003-03-06 09:39
2003.03.20
IBInstall - как провести инсталляцию на чистой машине?


1-64084
basile
2003-03-10 11:20
2003.03.20
Set


1-64166
X3coder
2003-03-07 13:45
2003.03.20
Ну хорошо, раз незнаете synedit попробуем по другому


4-64431
Cosmic
2003-01-24 08:00
2003.03.20
Bitmap & WinAPI