powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как в ADO отследить изменение данных в БД?
13 сообщений из 13, страница 1 из 1
Как в ADO отследить изменение данных в БД?
    #32735239
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема в следующем: имеется БД (скажем на SQL 2000), имеется приложение, в котором работает куча юзеров. Используется адошный рекордсет. В рекордсет запихиваются данные из нескольких таблиц SQL- запросом (f.e.: "select a.field1,b.field1,c.field2
from table1 a left outer join table2 b on a.id=b.id
,table3 c
where c.id=a.id")
Пользователи вносят изменения в данные этих таблиц (изменения через хранимые процедуры).
Вопрос: можно ли сделать так, чтобы при изменении данных в таблицах БД, эти данные обновлялись бы и у пользователя, у которого открыт рекордсет, в котором имеются данные из измененных таблиц.
(использование метода Requery() , например, по таймеру не очень красиво: при достаточно больших объемах данных это сильно тормозит).
Благодарю за внимание.
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32735247
Philin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я понимаю технологию клиент-сервер, без Requery() тут не обойтись...
Чтобы исключить частое обращение к нужной таблице по таймеру, можно сделать следующее:
1)завести таблицу, в которой будет информация об изменении
2)по таймеру обращаться к ней, если данные изменились - Requery() к основной таблице
3)именяете данные в основной таблице - автоматически меняется таблица с информацией об изменениях (можно триггером)
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32735283
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была у меня такая идея, но я надеялся и верил, что может быть есть "штатный" инструмент для этого (может есть какие-нибудь функции API для работы с SQL-сервером, которые могут производить уведомление об изменении данных)...
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32735303
Philin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть еще в ADODataSet свойство CursorType, в хелпе про его значение ctDynamic очень интересно написано...,
но я этим не пользовался, и, если честно, пользоваться боюсь...
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32735546
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я решил эту проблему DCOM сервером
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32735745
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_VCВопрос: можно ли сделать так, чтобы при изменении данных в таблицах БД, эти данные обновлялись бы и у пользователя, у которого открыт рекордсет, в котором имеются данные из измененных таблиц.


Нет, нельзя.
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32735747
Tracer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор(может есть какие-нибудь функции API для работы с SQL-сервером, которые могут производить уведомление об изменении данных)...
Есть такие функции, см.
sp_trace_create
sp_trace_setevent
sp_trace_setstatus
sp_trace_generateevent
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32735954
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JibSkeartА я решил эту проблему DCOM сервером
А DCOM сервер на машину где SQL Server надо ставить?
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32736022
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tracer Есть такие функции, см.
sp_trace_create
sp_trace_setevent
sp_trace_setstatus
sp_trace_generateevent

Transact Sql Help: "... Only members of the sysadmin role can execute sp_trace)create..."
Увы, таких правов прикладухе вряд ли дадут :(( ...
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32736039
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_VC JibSkeartА я решил эту проблему DCOM сервером
А DCOM сервер на машину где SQL Server надо ставить?

Где угодно :)
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32736047
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати вы клиента на чем пишите ?!

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32736268
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JibSkeartКстати вы клиента на чем пишите ?!

Microsoft Visual C++ v 6.00 (service pack 5)
...
Рейтинг: 0 / 0
Как в ADO отследить изменение данных в БД?
    #32736293
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понятно.
Я думал на Buildere C++


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как в ADO отследить изменение данных в БД?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]