![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL Server table changed [MSSQL]
Mamed © (2008-10-17 08:51:00)Kak magu v cliente uznavat ob izmenenie konkternogo tablicha
DrPass (2008-10-17 13:43:00) [1]
> это не всегда так, на самом деле
Чаще всего всех устраивает вариант с кнопкой обновления и надписью где-нибудь в статусбаре "появились новые данные, тынцните буттон, чтобы их увидеть"
Ega23 (2008-10-17 11:31:00) [2]
> это не всегда так, на самом деле
Не всегда, согласен. Но тут уже другие механизмы можно накручивать.
Правильный$Вася (2008-10-17 11:08:00) [3]
> одному оператору совершенно незачем знать о том, что делают другие.
это не всегда так, на самом деле
но в большинстве случаев каждый из них действительно должен заниматься своим делом
по сабжу:
если юзеру нужно узнать об изменениях, сделанных не им, пускай жмет кнопку обновления
в остальных случаях он будет работать с прежними данными и ничего от этого не пострадает
если же данные как-то между собой взаимосвязаны, то есть сомнения, что их нужно в одной таблице хранить
b z (2008-10-17 11:05:00) [4]
> Какая у тебя задача?
+ Какой сервер? Для 2005 можно наверное прикрутить, что-нибудь такое:
http://msdn.microsoft.com/ru-ru/library/ms175110(SQL.90).aspx
Ega23 (2008-10-17 11:01:00) [5]
> Spasibo vsem
> Ya podumal mojet bit ets kakay to drugoy vozmojst
Всё просто: одному оператору совершенно незачем знать о том, что делают другие.
stas (2008-10-17 10:53:00) [6]Mamed (17.10.08 10:45) [10]
Кнопка "обновить".
Какая у тебя задача?
Mamed (2008-10-17 10:45:00) [7]Spasibo vsem
Ya podumal mojet bit ets kakay to drugoy vozmojst
ЮЮ (2008-10-17 10:34:00) [8]> i odna tablicha
Тогда добавь ещё одну, куда в триггере пиши об изменениях. В таймере на клиете запрашивай записи из этой таблицы, причем не все, а с ключём большим, чем получено при последнем считывании.
Так ты определишь не только факт изменений, но и их сущность. Это позволит принять решение обновлять ли всю таблицу, одну запись или проигнорировать.
Таблицу изменений можешь периодически чистить.
З.Ы. Сколько полей и записей в таблице?
Сергей М. (2008-10-17 10:30:00) [9]
> Mamed (17.10.08 10:19) [7]
А зачем клиенту видеть, что творят остальные 99 клиентов ?
Mamed (2008-10-17 10:19:00) [10]v drugom variante kajdiy klinet cherez timer budet refresh delat. v moem sluchae eto esho bolsaya nagruzka potomu chto izmenenie v dannix proizxodt ne tak uj chasto
Ega23 (2008-10-17 10:13:00) [11]
> Vot mne interesno kak rabotaest SQL profiler
По сети.
Теперб по сабжу: ерунду ты задумал, поверь. Будет дикая нагрузка на сервер, дикая нагрузка на клиент и ерунда в результате.
Сергей М. (2008-10-17 10:06:00) [12]
> Mamed (17.10.08 10:02) [2]
Ты, видимо, не представляешь, к какому бардаку это приведет)
Mamed (2008-10-17 10:06:00) [13]stas © eto samiy posledniy variant) Vot mne interesno kak rabotaest SQL profiler
stas (2008-10-17 10:04:00) [14]Mamed (17.10.08 10:02) [2]
Можно подключить dll, которая будет отправлять сообщения и вызывать ее в триггере.
Но это все гемрно и в большенстве случаев не нужно, только лишняя нагрузка на сервер.
Mamed (2008-10-17 10:02:00) [15]Est Server s Sql severom. v nem Odin database i odna tablicha. 100 clientov soedinyaetsya v etu tablichu. mne nujen bri izmeneniy dannix odnim klinetom izmenit dannie u vsex klientov. To iz Avtorefresh
ЮЮ (2008-10-17 09:54:00) [16]Что ты понимаешь под "изменением таблицы"?
Не работай со всей таблицей, а лишь с небольшой порцией нужных записей.
Так как будешь постоянноо обращаться за новой порцией, то всегда будешь получать измененные данные.