![]() |
|
Модераторы: Akella |
![]()
|
|
| IvanTG |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 16.5.2004 Репутация: нет Всего: нет |
Пишу программу в Delphi с использованием сервера InterBase. Столкнулся с проблемой: запросы, изменяющие таблицу (Update) не всегда выполняются. Транзакция завершается нормально, а изменения на сервере не произходят.
Еще при внесении изменений не все клиенты сразу их видят. На сервере таблица уже изменилась, а на клиентских машинах запрос Slect выдает старые данные. Как мне от этого избавится??? |
|||
|
||||
| gray_k |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1015 Регистрация: 9.1.2003 Где: Москва Репутация: нет Всего: 22 |
Значит запросы ничего не меняют
После этого вызываешь метод Refresh() у набора данных и всё ОК. Кстати, если используешь TIBQuery, то не забудь прописать параметры обновления у компонента TIBUpdateSQL/ Да, вот ещё. ДЛя того, чтобы увидеть новые записи, набор данных необходимо переоткрыть заново и ничего ты тут не сделаешь. -------------------- С уважением. Gray. |
||||||
|
|||||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 1 Всего: 22 |
gray_k, переоткрывать необязательно, если делается CommitRetaining. но это джопустимо, только если все поля формируются на стороне клиента. если что-то (дефолтовые значения, доп. обработка в триггерах) формирует сервак, то это действительно невозможно увидеть без переоткрытия.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| pernatij |
|
|||
|
Unregistered |
Люди, помогите!!!
При создании внешнего ключа в базе данных Interbase V5.6. Вызывается ошибка - сервер говорит, что таблица, в которой этот ключ является первичным, занята другим процессом. unsuccessful metadata update -object ROOMTYPE is in use |
|||
|
||||
| gray_k |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1015 Регистрация: 9.1.2003 Где: Москва Репутация: нет Всего: 22 |
Надо сделать shitdown, а потом online. Это только при отключенных юзерах и одним коннектом SYSDBA. А если на сервере больше баз нет, то проще всего просто перезапустить службу сервера.
-------------------- С уважением. Gray. |
|||
|
||||
![]()
|
| Правила форума "Interbase" | |
|
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |