Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2010, 23:55   #1
Art_Divin
Пользователь
 
Аватар для Art_Divin
 
Регистрация: 06.03.2010
Сообщений: 14
По умолчанию Как отловить событие изменения БД MySQL иными от программы средствами (delphi)

Доброго времени суток, товарищи.
Дело вот в чём:
  • Соединение с MySQL БД через ODBC (adoconnection)
  • Есть adodataset с SQL запросом на выборку
  • Есть adodatasourse, содержащий результат этой выборки
  • Есть DBGrid который отображает adodatasourse
  • Есть сайт, через который производятся изменения в той самой БД, с которой связана Дельфи.

Необходимо обновлять DBGrid при изменениях, совершенных через сайт. Прошу прощения, если уже поднимался вопрос подобный, поиск юзал, но не долго.
Суть просьбы - подскажите, какое событие отлавливать, чтобы обновить данные в сетке DBGrid. Заранее благодарю за любую помощь.
House, progressive house, minimal house listener!
Linux registered user #505538
Art_Divin вне форума Ответить с цитированием
Старый 12.03.2010, 00:55   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Что значит "отловить событие изменения БД MySQL иными от программы средствами" ???
Тогда нанимайте охранника, котрый каждую секунду будет хлопать по "кнопе" и смотреть (пока глаза на заслезятся) - изменилось у вас та что-нибудь или нет...
Есть кто-то, ответственный за связь, за изменения в базе ?
Имеется в виду некий компонент, процедура и т.д.
Это ведь не может происходить незаметно.
Ну так там и добавляем пару строк для обновления грида...
С мускулем не сильно близко знаком, но если там есть триггеры и ХП - то общими способами, без проблем...

Последний раз редактировалось mihali4; 12.03.2010 в 01:40.
mihali4 вне форума Ответить с цитированием
Старый 12.03.2010, 08:33   #3
Art_Divin
Пользователь
 
Аватар для Art_Divin
 
Регистрация: 06.03.2010
Сообщений: 14
По умолчанию

Есть WebBrowser1 =) Сразу не уточнял, т.к. думал, что реализовать будет проще простого, и я просто туплю. Думаю в нём можно выловить нужную ссылку нажатую, но, ей богу, понятия не имею как бы выглядело событие)
Сайт висит на движке drupal, думаю сайт является "иным от программы средством"
п.с. насчёт кнопки тоже думал, думал даже через таймер и поток реализовать...
House, progressive house, minimal house listener!
Linux registered user #505538

Последний раз редактировалось Art_Divin; 12.03.2010 в 08:47.
Art_Divin вне форума Ответить с цитированием
Старый 12.03.2010, 09:09   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Тут несколько вариантов. Выбирайте наиболее подходящий для Вашей задачи:
1) Тупо добавить кнопку "Обновить" в программе и пусть пользователь на неё жмёт в нужный момент времени. Самый простой вариант в реализации и наиболее правильный в общем случае в плане удобства пользователя. Как мне работать с DBGrid, если в нём постоянно будут строки прыгать, т.к. они будут добавляться и удаляться другими пользователями?
2) Обновлять данные по таймеру
3) Пусть сервер уведомляет об изменениях. Некоторые СУБД поддерживают механизм событий (или как уж это там правильно называется), через который можно уведомлять клиентов БД об изменениях и что им нужно обновиться. Ну или вообще на TCP/UDP написать простенький "сообщатор" о изменениях. Как по мне, так это лишние проблемы, которые никому не нужны
pu4koff вне форума Ответить с цитированием
Старый 12.03.2010, 09:46   #5
Art_Divin
Пользователь
 
Аватар для Art_Divin
 
Регистрация: 06.03.2010
Сообщений: 14
По умолчанию

С Таймером - самое "то".
Спасибо за ответ.
House, progressive house, minimal house listener!
Linux registered user #505538
Art_Divin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отловить событие нажатия клавиши Esc? dsapa Microsoft Office Excel 14 03.12.2016 14:27
Отловить событие при открытии/закрытии дисковода k1r1ch Общие вопросы Delphi 4 06.10.2009 13:52
Как средствами Delphi изменить IP на компе? Ky3Heu, Работа с сетью в Delphi 1 10.08.2009 19:57
TRichViewEdit - как отловить событие "курсор над таблицей" chandrasecar Компоненты Delphi 0 05.04.2009 20:04
как сделать заставку при закрытии программы(событие TForm1.FormClose)? beegl Общие вопросы Delphi 9 03.04.2009 09:00