Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизDelphi и MS SQL Найти похожие ветки
← →
Maniacosaur (2003-10-24 09:31) [0]Проблема в следующем. Имеется ADOConnection, ADOTable, DataSource, DBGrid ну и естественно форма :-)
Как сделать, чтобы при обновлении данных на сервере происходило обновление данных в DBGrid. Если в свойствах ADOTable поставить CursorLocation=clUseServer и CursorType=ctDynamic, то DBGrid вываливается с сообщением "Dataset does not support bookmarks, wich are required for multi-record data controls." Как штатными средствами обойти эти грабли?
← →
bushmen (2003-10-24 09:38) [1]CursorLocation=clUseClient
← →
Maniacosaur (2003-10-24 10:44) [2]В этом варианте CursorType не принимает других значений кроме ctStatic. Соответственно, если в базе кто то меняет таблицу, то новые значения в грид не попадают. А чтобы попали -- нужно провести ряд манипуляций.
← →
Vlad (2003-10-24 10:48) [3]>Maniacosaur © (24.10.03 10:44) [2]
Если в базе кто-то меняет значения, значит надо почаще кнопку Рефреш нажимать. Либо делать рефреш автоматически, в потоке, каждые N секунд.
← →
Fiend (2003-10-24 10:51) [4]штатными никак!
Можно воспользоваться компонентами Alex Konshin
MS SQL Alert. будешь посылать сообщения от сервера клиенту.
← →
Maniacosaur (2003-10-24 10:54) [5]А что же тогда делают CursorLocation и CursorType?
← →
Плохиш_ (2003-10-24 11:06) [6]>Maniacosaur © (24.10.03 10:54) [5]
А что в хелпе не написано?
← →
sniknik (2003-10-24 11:09) [7]Fiend © (24.10.03 10:51) [4]
> штатными никак!
уже давно видел стандартный оповешатель в MSSQL (служба доставляется, правда не пользовался и не помню как оно называется, если очень нужно могу поискать, но думаю ктонибудь раньше меня положит)
еще можно так (через ж%#у но штатно, и ничего не нужно доставлять)
exec master..xp_cmdshell "net send client "сделай рефреш!!!"", NO_OUTPUT
Maniacosaur © (24.10.03 10:54) [5]
> А что же тогда делают CursorLocation и CursorType?
грубо это расположение данных, если серверный курсор то они на сервере но для того чтобы их отразить на клиенте их все одно нужно на него перекачивать. (и даже если на сервере они динамически поменялись, то на клиенте все одно об этом не знают)
← →
Denis (2003-10-24 11:15) [8]Возможно, это будет кстати:
http://www.delphikingdom.com/helloworld/ado01.htm
← →
paul_k (2003-10-24 11:27) [9]
> sniknik © (24.10.03 11:09) [7]
> уже давно видел стандартный оповешатель в MSSQL
А не можете ли подсказать куда в нелпе смотреть?
← →
sniknik (2003-10-24 11:32) [10]paul_k © (24.10.03 11:27) [9]
не в хелпе а на сайте майкософта, просто статьи читал там и попалось. но вот точно к сожалению сказать не могу. (и пока не нахожу)
← →
paul_k (2003-10-24 11:35) [11]2 sniknik ©
Направление куда копать понял.
спасибо
← →
Maniacosaur (2003-10-24 11:38) [12]Все равно грид не рефрешится. Хотелось бы красиво сделать, а не запускать поток, чтобы тот периодически обновлял данные.
← →
KSergey (2003-10-24 11:42) [13]Ловить оповещения об изменении от сервера
Только так.
← →
Maniacosaur (2003-10-24 12:04) [14]Плохо
← →
sniknik (2003-10-24 12:24) [15]б%# чегото совсем не ищется ;о(, глюки у меня тогда были чтоли?.
Maniacosaur © (24.10.03 12:04) [14]
> Плохо
не так уж и плохо если захотеть решить можно, ссылка
http://home.earthlink.net/~akonshin/delphi_ru.htm
см.MS SQL Alerter
можеш также сделать.
(другое дело а нужно ли? мне вот не пригодилось хотя этот пример пробовал и на всякий случай ссылку оставил)
← →
Delirium (2003-10-24 12:29) [16]Если уж делать, то лучше не по Named Pipes, а широковещательно по UDP ...
← →
me (2003-10-24 12:48) [17]Microsoft SQL Server Notification Services
← →
Fiend (2003-10-24 13:04) [18]То sniknik:
во-во, я про него и говорил
← →
sniknik (2003-10-24 13:16) [19]me (24.10.03 12:48) [17]
точно. значит это был не глюк. ;о))
← →
Delirium (2003-10-24 16:01) [20]http://delphibase.endimus.com/?action=viewfunc&topic=basemssql&id=10474
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.058 c