Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++ Builder и базы данных

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.78
newline
97 / 9 / 1
Регистрация: 21.02.2011
Сообщений: 255
#1

Отслеживание изменений в БД - C++ Builder БД

10.12.2012, 13:30. Просмотров 3108. Ответов 49
Метки нет (Все метки)

Есть БД, к которой подключено несколько клиентов. Каждый из них имеет компоненты "DataSource", "ADOConnection" "ADOTable", "DBGrid". Тут рррраз, и в таблицу, к этому всему хозяйству привязанную добавилась строка. Как отследить это дело, чтобы его обработать? Например "DataSource" умеет обрабатывать событие "OnUpdateData". Подойдет? Как это юзать? Самый сложный вопрос: А можно ли об изменении уведомить только одного подключенного юзера?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 13:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Отслеживание изменений в БД (C++ Builder БД):

Отслеживание времени - C++ Builder
Суть задачи такова, мне надо записать время при выполнении операции, после чего недавать возможности ей выполнятся до истечении...

Отслеживание нажатия клавиш - C++ Builder
здравствуйте форумчане! подскажите пожалуйста, как сделать что бы при нажатии клавиши(например f1-f12)сработал определённый код....

Отслеживание запуска полноэкранного приложения - C++ Builder
Требуется отследить запуск полноэкранного приложения. Т.е. при запуске полноэкранного приложения моя программа должна отменять свойство...

TScrollBar - некорректное отслеживание позиции - C++ Builder
Добрый день всем! Может кто сталкивался с компонентом ScrollBar в РАД студии? Вывожу значение скроллбара в лэйбл (при событии...

Отслеживание подключения флешки по USB - C++ Builder
Такой вопрос: чем увидеть подключаемую к компу флешку USB, где в реестре об этом хранится информация и как програмно запустить с этой...

Отслеживание момента установки драйверов в Windows - C++ Builder
Доброго времени суток! Имеется программа и устройство, подключаемое по USB. Соответственно, программа написана для работы с этим...

49
Alex_ZS
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
10.12.2012, 16:01 #2
"OnUpdateData" не увидит изменений на сервере
0
newline
97 / 9 / 1
Регистрация: 21.02.2011
Сообщений: 255
10.12.2012, 16:07  [ТС] #3
А решение?

Добавлено через 39 секунд
Я не обнаружил в компонентах ничего похожего.
0
Alex_ZS
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
10.12.2012, 16:23 #4
я не придумал ничего лучше, чем перезачитывать данные с сервера по таймеру. Могут быть вариации на тему того, что зачитывать. Например какую-нибудь сервисную таблицу, в которой работающий экзампляр может писать сервисную информацию, анализируя которую, клиент может принимать решение перезачитывать данные или нет.
0
newline
97 / 9 / 1
Регистрация: 21.02.2011
Сообщений: 255
10.12.2012, 16:34  [ТС] #5
Вряд ли. При таком сценарии надо "помнить" весь контент этой ДБ. Что там в ней было.
0
Sasha
4918 / 2383 / 249
Регистрация: 05.06.2008
Сообщений: 7,465
Записей в блоге: 3
10.12.2012, 16:50 #6
Вот может это поможет
Вести Log изменений базы
1
newline
97 / 9 / 1
Регистрация: 21.02.2011
Сообщений: 255
10.12.2012, 16:50  [ТС] #7
Еппрст! Все. Рабочий день в пампасы... Точно!
0
Sasha
4918 / 2383 / 249
Регистрация: 05.06.2008
Сообщений: 7,465
Записей в блоге: 3
10.12.2012, 16:59 #8
Цитата Сообщение от newline Посмотреть сообщение
Еппрст! Все. Рабочий день в пампасы... Точно!

Не по теме:

Всмысле?

0
Alex_ZS
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
10.12.2012, 17:03 #9
Зачем? Допустим есть таблица, в которой хранятся имена всех таблиц и время последнего изменения. По таймеру опрашиваем есть ли изменения (любые). Если есть - перезачитываем.
А когда сами правил таблицу с данными, обновляем эту таблицу
0
newline
97 / 9 / 1
Регистрация: 21.02.2011
Сообщений: 255
10.12.2012, 17:06  [ТС] #10
Цитата Сообщение от Sasha Посмотреть сообщение

Не по теме:

Всмысле?

В том смысле что устал и соседней строчки не заметил.
0
Kabak
156 / 145 / 9
Регистрация: 03.02.2012
Сообщений: 651
Записей в блоге: 1
10.12.2012, 17:58 #11
Самое простое: создать в базе ещё одну служебную таблицу и в ней фиксировать время последнего изменения в любой таблице базы, ну и если нужно , кто менял и что менял... Вопрос только, как распознать что все клиенты обновились и время чистить эту служебную статистику...

Можно по сети рассылать сообщения другим клиентам, что я изменяю то-то и то-то - обновляемся... Это уже сложнее, что-то вроде сетевого, служебного, чата нужно писать...

Добавлено через 7 минут
Клиент-сервер однако светит...
0
Alex_ZS
4 / 4 / 0
Регистрация: 07.12.2012
Сообщений: 21
11.12.2012, 10:33 #12
А зачем ее чистить? Размерность таблицы изменений будет фиксированной, а логи конкретных изменений надо хранить в отдельной таблице, если это необходимо.
0
Oxotnuk
77 / 77 / 2
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 12:53 #13
А зачем делать всякие эти таблицы? мб я чего то не так понял конечно...
Но почему бы не использовать просто АУДИТ?
0
Kabak
156 / 145 / 9
Регистрация: 03.02.2012
Сообщений: 651
Записей в блоге: 1
11.12.2012, 12:57 #14
что такое "АУДИТ" ?
0
Oxotnuk
77 / 77 / 2
Регистрация: 18.06.2009
Сообщений: 533
11.12.2012, 13:03 #15
Аудит — это сочетание в едином пакете нескольких элементов для определенной группы действий сервера или базы данных. Компоненты подсистемы аудита SQL Server совместно формируют выходные данные, называемые аудитом, аналогично тому, как определение отчета в сочетании с элементами графики и данных формирует отчет.
Вообще потом можно посмотреть,что,где,когда и кто сделал (del,ins,upd)
0
11.12.2012, 13:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2012, 13:03
Привет! Вот еще темы с ответами:

Отслеживание создания файлов чужим процессом - C++ Builder
Здравствуйте. Возникла проблемка с отслеживанием создания новых файлов в определенной папке чужим процессом (видео-проигрыватель). Этот...

Обработка сообщений/событий. Отслеживание в оборудовании - C++ Builder
Мне необходимо отслеживать изменения в составе оборудования. Весь день лажу по инету - ищу, читаю - и везде нет ничего внятного. Подскажите...

Отслеживание фокуса и подсветка активного TEdit - C++ Builder
Всем хорошего дня! Назрел еще один вопрос, подскажите,плиз. Имеется форма с 10 edit-ами и одна кнопка, которая передает в edit1 символ "7"...

Подтверждение изменений в базе - C++ Builder БД
Добрый день, Уважаемая администрация и пользователи форума! Помогите разобраться в такой ситуации: Есть Form1 - на ней лежит Edit1 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru