Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.03.20;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.009 c
1-64143
MadGhost
2003-03-07 07:37
2003.03.20
MDI


4-64443
KoHe4Ho }|{e 6ot
2003-01-25 19:51
2003.03.20
Работа с памятью


3-63976
cherox
2003-02-27 12:24
2003.03.20
TADOQuery


3-64049
AM
2003-03-03 11:24
2003.03.20
Мышь во время запросов


14-64376
SuperMagic
2003-03-01 12:21
2003.03.20
Компоненты векторной графки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский