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

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

Отображение изменений, внесённых в БД другими пользователями [D7, FB2.5]


Страницы:   1 2 3

TheEd ©   (2009-06-01 17:19:00) 

Уважаемые мастера!
Есть сетевая база (FB2.5), несколько пользователей одновременно работают с таблицами.
Как "перехватить" событие по вставке в базу записи другим пользователем (если это реально)?

зы:
Насколько я понимаю, сервер БД не оповещает клиентов о подобных событиях, т.е. выхода два:
- или время от времени делать FullRefresh
- или трехзвенку строить
Есть более "прямые" решения?


Медвежонок Пятачок   (2009-06-03 16:44:00) [21]

Вместо подобной колхозной поделки с парой-тройкой неудобно реализованных функций подойдет банальная книга экселя.

плюз на зряплате вуз сэкономит.


Sergey13   (2009-06-03 16:41:00) [22]

> [29] TheEd   (03.06.09 16:36)
> Тем не менее принципиально - студент может сам добавить пункт справочника.

Ну значит готовься к наличию оценок по "Хрен знает чему" и "Какой то фигне". 8-)


Медвежонок Пятачок   (2009-06-03 16:41:00) [23]

Тем не менее принципиально - студент может сам добавить пункт справочника.

Это у кого такие интересные принципы?
А если студень туда забьет предмет "хиромантия" ?
Ты начшень здесь парить всем моск как перехватить "хиромантию"?


TheEd   (2009-06-03 16:36:00) [24]

пока не у набивальщиков, а бета-тестеров :)
по поставленной задаче предполагается что данные будут вноситься самим студентом, однако перед использованием большинство предметов в данный конкретный справочник было забито. Тем не менее принципиально - студент может сам добавить пункт справочника.

2 Sergey13 [27]:
её в бюджете платят не по заслугам а так, чтобы человек не сбежал :(


Медвежонок Пятачок   (2009-06-03 16:05:00) [25]

ну если зарплата, то логичен вопрос, почему программа уже у набивальщиков данных, а в базе еще нет математики?


Sergey13   (2009-06-03 16:04:00) [26]

> [26] TheEd   (03.06.09 16:00)
> только степень ответственности + некоторое скудное материальное
> вознаграждение, называемое зарплата :)

Значит ты безответственный и зарплату тебе не повысят. 8-)


TheEd   (2009-06-03 16:00:00) [27]


> Это нечто рельно нужное или очередная лаба?


лабы, слава Богу, давно в прошлом :)
хотя... Лабы сдают преподам, а работу - начальству. Разницы большой нет, только степень ответственности + некоторое скудное материальное вознаграждение, называемое зарплата :)


Медвежонок Пятачок   (2009-06-03 15:53:00) [28]

Если математики нет, жмёт доп. кнопку

... и в вузе сразу же начинают преподавать математику.
физрука снимают с пары и посылают преподавать дифференциальное исчисление.


Sergey13   (2009-06-03 15:44:00) [29]

> [20] TheEd   (03.06.09 14:07)
> группа {студентов} из 10-15 чел. вбивает в базу некоторые данные о себе.

Это нечто рельно нужное или очередная лаба?
В реальности нет ничего страшнее чем справочники, заполняемые кем попало по желанию правой ноги.


Игорь Шевченко   (2009-06-03 14:30:00) [30]


> Например Иванов выбирает предмет "Математика" и ставит себе
> оценку. Если математики нет, жмёт доп. кнопку и в отдельном
> мастере добавляет нужный предмет.


А если у Иванова двойка по родному языку и он выбирает "Матиматека", а у Петрова тройка и он выбирает "Мотематика" ?


TheEd   (2009-06-03 14:22:00) [31]


> Обработать в программе возникшее исключение.


это понятно.
но хотелось чтобы у Петрова в списке появился предмет, добавленный Ивановым (плюс ещё можно Balloon в трэй-иконке показать, чтобы привлечь внимание)!
Но сообщения ловят все подписанные клиенты, в т.ч. и Иванов, который его инициировал. Ему нет необходимости его обрабатывать - его датасеты уже содержат все изменения!


Плохиш   (2009-06-03 14:17:00) [32]


> Так вот, если в этот момент Петров добавит тот же предмет,
>  то или их в справочнике будет 2, или счаботает исключение
> в случае уникального ключа у того из них, кто вторым сделает
> пост.


> кто знает как можно более прямо сделать?

Обработать в программе возникшее исключение.


TheEd   (2009-06-03 14:07:00) [33]

Интересно было коменты почитать после вынужденного перерыва.

> автору мозги, ИМХО, запудривать не стоило б. Тем более там
> у него и так не густо пока ;)


ничё, интересно было поразмыслить. В плане не густо согласен, я пока собаки ни одной не съел :)

Кстати о том что же нужно автору:
это ближе к кассе с билетами чем к брони билетов, а именно: группа {студентов} из 10-15 чел. вбивает в базу некоторые данные о себе. При этом некоторые lookup-поля используют таблицы подстановки. Например Иванов выбирает предмет "Математика" и ставит себе оценку. Если математики нет, жмёт доп. кнопку и в отдельном мастере добавляет нужный предмет.
Так вот, если в этот момент Петров добавит тот же предмет, то или их в справочнике будет 2, или счаботает исключение в случае уникального ключа у того из них, кто вторым сделает пост.
В данном случае считаю обоснованным применение оповещений, но в данный момент ломаю голову над вот чем:
в тригеры поставил рассылку сообщений, но если юзер А делает к примеру Insert, ему тоже приёдет сообщение, как и всем остальным - а это уже не нужно. Параметр в сообщение не передашь.
Пока вижу выход один:
убрать рассылку из тригеров, оформить хранимой процедурой и вызывать из слиентского приложения её, при этом на время отсылки не обрабатывать получение соответствующего сообщения.
Знаю что метод кривой, кто знает как можно более прямо сделать?


Игорь Шевченко   (2009-06-03 11:00:00) [34]

MsGuns ©   (03.06.09 09:05) [18]

Я ценю твою заботу об авторе.


> А зачем тогда был [14]


Исключительно для тебя, в пояснение поста [10].


MsGuns   (2009-06-03 09:05:00) [35]

>Игорь Шевченко ©   (03.06.09 01:55) [16]

О как !
А зачем тогда был [14] - типа крутость показать ?
Я как бы и сам о таком догадывался ибо тоже не вчера в горшок стал попадать, а вот автору мозги, ИМХО, запудривать не стоило б. Тем более там у него и так не густо пока ;)


Германн   (2009-06-03 02:43:00) [36]


> Игорь Шевченко ©   (03.06.09 01:55) [16]
>
> Кстати, о бронировании и просмотре изменений, внесенных
> другими пользователями - при продаже билетов на сеанс в
> кино такого рода изменения вполне уместно организовывать
> через оповещение. Перед кассиром план зрительного зала,
> закупленные места помечаются одним цветом, свободные другим,
>  в соседней касе продали на 13-е место 13-го ряда - сразу
> всем видно, что на этот конкретный стул хрен кого еще усадишь.
>

Кстати и я о том же. :) Но не о билетах.


Игорь Шевченко   (2009-06-03 01:55:00) [37]

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


Германн   (2009-06-03 01:11:00) [38]


> MsGuns ©   (03.06.09 00:30) [12]
>
> Хотя спорить с тобою уволь ;)
>

При чтении ветки хотел похохмить на эту тему с тобой, но опоздал :(
ИШ своим [14] испортил всю малину! :)
На эту тему можно ещё поговорить с vuk'ом. (Если он захочет).


Игорь Шевченко   (2009-06-03 00:39:00) [39]

MsGuns ©   (03.06.09 00:30) [12]


> Ну да ? И где ж оно будет резервировать, в каких поездах
> и вагонах ?


В доступных, очевидно.


> И какого оно будет резервировать, ежели покупатель заказал
> полста билетов и слинял "как будто в туалет" ?


И че ? Ну слинял. Не подтвердил в указанный регламентом интервал - места снова достпупны.


> Хотя спорить с тобою уволь ;)


Хотя бы по той простой причине, что с системами бронирования (авиаперевозок) я общаюсь больше 15 лет.


Petr V. Abramov   (2009-06-03 00:38:00) [40]


> MsGuns ©   (01.06.09 20:55) [2]
> А есть радикальное решение - уйти от "табличной" идеологии
> к "документной"

это уже второй дан :)
сорри за оффтоп


Страницы:   1 2 3

Наверх

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