|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.10.2014, 11:25 | #1 |
Пользователь
Регистрация: 25.09.2009
Сообщений: 81
|
Обновление MemTable из базы данных
Всем привет. Столкнулся с проблемой своевременного обновления данных в программе чтобы не тянуть постоянно всю базу с сервера.
Имеется: FireBird, клиент, который при запуске загружает таблицу из базы в MemTable рисует её в DBGrid. Дальше работа происходит с загруженной таблицей. Как сделать, чтобы при обновлении информации в базе(например, вставка, изменение, удаление записи) происходило обновление в MemTable? Я пробовал сделать через триггеры в базе и EventAlerter, но у меня не вышло. |
11.10.2014, 13:34 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Не оч. понял о каком обновлении идет речь, но я бы на твоем месте сделал второе подключение, по которому данные будут только писаться или удаляться но не выбираться. И это подключение в потоке и на сервер.
I'm learning to live...
|
12.10.2014, 00:02 | #3 | |
Участник клуба
Регистрация: 10.08.2010
Сообщений: 1,389
|
Цитата:
E_MAIL: rijgvina7@yahoo.com
|
|
12.10.2014, 19:24 | #4 |
Пользователь
Регистрация: 25.09.2009
Сообщений: 81
|
Есть программа-клиент и есть база данных Firebird. При запуске программы из базы считывается таблица и заносится в MemTable. Мне нужно сделать чтобы при изменении(добавлении, удалении) записей в этой таблице на сервере изменившиеся(добавленные, удаленные) записи в программе-клиенте также изменялись(добавлялись, удалялись). Проще говоря в клиенте всегда должна быть актуальная база данных. И надо это сделать так, чтобы не запрашивать всю базу, а только изменившиеся записи.
|
12.10.2014, 19:48 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Обычно пользователь сам и актуализирует данные, кнопочкой например. Но если сильно-сильно хочется, то механизм событий FireBird и сильное усложнение
http://www.firebirdsql.org/file/docu...ird_events.pdf
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
12.10.2014, 20:15 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
А если я скажу тебе из своего горького опыта эксплуатации такого ПО, писанного некими... ну не важно кем, что это фуфло станет ользователю поперек горла, ты меня пошлешь или поверишь и одумаешься так делать?
I'm learning to live...
|
|
12.10.2014, 20:53 | #7 |
Пользователь
Регистрация: 25.09.2009
Сообщений: 81
|
Аватар, я как раз это пытаюсь сделать. Пока безрезультатно.
Stilet, да, всё именно так. А как тогда сделать чтобы таблицу в клиенте актуальную держать? Постоянно полностью запрашивать все записи с сервера? |
15.10.2014, 11:36 | #8 |
Форумчанин
Регистрация: 21.05.2008
Сообщений: 495
|
Если честно не совсем понял вашу задумку. Ну вопервых для транзакции нужно указать уровень защищёности.
Потом не нужно держать всю базу в памяти!!! Нужно по необходимости тянуть нужные данные... |
15.10.2014, 12:16 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обновление только одной строки из базы | 11shepard11 | Помощь студентам | 2 | 25.03.2012 10:33 |
как организовать автоматическое обновление базы | lildare | C# (си шарп) | 0 | 06.10.2011 10:34 |
Builder 6.0 обновление базы | 6AZblJlb | Помощь студентам | 1 | 29.05.2011 16:43 |
Обновление Базы Данных | Владимир123421 | Microsoft Office Access | 1 | 22.04.2011 15:18 |
append и memtable | AK BULLETS | Общие вопросы Delphi | 0 | 23.03.2010 17:06 |