|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.03.2009, 11:05 | #1 |
Регистрация: 22.03.2009
Сообщений: 4
|
Обновление содержимого БД
Возникла проблема работы с БД с нескольких ПК,к примеру: добавляю запись на одном из ПК, и чтобы её просмотреть на другом ПК нужно закрыть приложение и открыть снова...Подскажите ,пожалуйста, как настройть приложение, чтобы обновлялись данные БД моментально? Приложение на Builder, а база в IBExpert......Используется IBDataBase для связи с БД и соответственно IBTransaction
Последний раз редактировалось Dolka; 23.03.2009 в 18:32. |
23.03.2009, 11:43 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А метод Post в этом IB есть?
I'm learning to live...
|
23.03.2009, 12:07 | #3 |
Регистрация: 22.03.2009
Сообщений: 4
|
нет.........
|
23.03.2009, 12:37 | #4 |
Форумчанин
Регистрация: 10.12.2007
Сообщений: 124
|
Query.Close;
Query.Sql.Clear; Query.Sql.Add(Sql); if UpCase(Sql[1])='S' then Query.Open else begin // если не select значит идет изменение или добавление записи Query.Transaction.StartTransaction; // начинаем транзакцию Query.ExecSQL; if ACommit and Query.Transaction.Active then Query.Transaction.Commit; // потверждаем транзакцию end; заметил после что надо под Builder.. код приведен для delphi смысл в том что надо при изменение в бд FireBird и иже с ним открывать и подверждать/откатывать транзакцию.. если у тебя нет таких свойств можешь попробовать через сам синтаксис sql.. что то на подобие Start Transaction; INSERT INTO table (table_col) VALUE (table_value); Comint;
Русский язык не мой конёк
Последний раз редактировалось Neobrat; 23.03.2009 в 12:42. |
23.03.2009, 13:21 | #5 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
IBExpert - это не СУБД, а прога для администрирования БД Interbase/Firebird/Yaffi. Какие компоненты используете в программе? IBX, FIBPlus, ADO или еще что?
решение в лоб: закрыть и открыть заново табличку. В FIBPlus для этого у DataSet'a есть метод CloseOpen. При работе с ADO+SQL Server у меня помнится работал нормально метод Refresh. Сейчас посмотрел: в FIBPlus+Firebird он почему-то не работает. Может кэширование у них какое или еще чего Можно поиграться с событиями. На все изменения в базе повесить срабатывания события, а в программе эти события ловить и обновляться. Нормальная реализация этой задачи - дело далеко нетривиальное и нужно ли оно вообще - не известно. Если много пользователей, активно работающих с таблицей, то с ума сойдешь наблюдать на таблицу, в которой записи скачут туда-сюда и нужную запись будет проблематично выделить |
23.03.2009, 13:23 | #6 |
Регистрация: 22.03.2009
Сообщений: 4
|
спасибо.....ой как всё сложно
|
23.03.2009, 13:25 | #7 |
Регистрация: 22.03.2009
Сообщений: 4
|
используется IBDataBase для связи с БД и соответственно IBTransaction
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Печать содержимого DBGrid | XATAB | БД в Delphi | 6 | 10.03.2009 08:35 |
Очещение содержимого | Sensy | Microsoft Office Excel | 2 | 02.03.2009 10:01 |
Обновление содержимого в HTML | XeN0N | Общие вопросы .NET | 0 | 01.03.2009 13:57 |
Печать содержимого DB Grid | Prisian | БД в Delphi | 4 | 06.09.2007 23:02 |
обновление в блоге - Стандартная печать содержимого компонента | Pblog | Обсуждение статей | 0 | 27.05.2007 03:17 |