![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.03.2009
Сообщений: 4
|
![]()
Возникла проблема работы с БД с нескольких ПК,к примеру: добавляю запись на одном из ПК, и чтобы её просмотреть на другом ПК нужно закрыть приложение и открыть снова...Подскажите ,пожалуйста, как настройть приложение, чтобы обновлялись данные БД моментально? Приложение на Builder, а база в IBExpert......Используется IBDataBase для связи с БД и соответственно IBTransaction
Последний раз редактировалось Dolka; 23.03.2009 в 18:32. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А метод Post в этом IB есть?
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 22.03.2009
Сообщений: 4
|
![]()
нет.........
|
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,091
|
![]()
IBExpert - это не СУБД, а прога для администрирования БД Interbase/Firebird/Yaffi. Какие компоненты используете в программе? IBX, FIBPlus, ADO или еще что?
решение в лоб: закрыть и открыть заново табличку. В FIBPlus для этого у DataSet'a есть метод CloseOpen. При работе с ADO+SQL Server у меня помнится работал нормально метод Refresh. Сейчас посмотрел: в FIBPlus+Firebird он почему-то не работает. Может кэширование у них какое или еще чего ![]() Можно поиграться с событиями. На все изменения в базе повесить срабатывания события, а в программе эти события ловить и обновляться. Нормальная реализация этой задачи - дело далеко нетривиальное и нужно ли оно вообще - не известно. Если много пользователей, активно работающих с таблицей, то с ума сойдешь наблюдать на таблицу, в которой записи скачут туда-сюда и нужную запись будет проблематично выделить ![]() |
![]() |
![]() |
![]() |
#6 |
Регистрация: 22.03.2009
Сообщений: 4
|
![]()
спасибо.....ой как всё сложно
|
![]() |
![]() |
![]() |
#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 |