| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Firebird, Interbase > InterBase запросы |
| Автор: IvanTG 16.5.2004, 16:38 |
| Пишу программу в Delphi с использованием сервера InterBase. Столкнулся с проблемой: запросы, изменяющие таблицу (Update) не всегда выполняются. Транзакция завершается нормально, а изменения на сервере не произходят. Еще при внесении изменений не все клиенты сразу их видят. На сервере таблица уже изменилась, а на клиентских машинах запрос Slect выдает старые данные. Как мне от этого избавится??? |
| Автор: gray_k 17.5.2004, 08:25 | ||||||
Значит запросы ничего не меняют
После этого вызываешь метод Refresh() у набора данных и всё ОК. Кстати, если используешь TIBQuery, то не забудь прописать параметры обновления у компонента TIBUpdateSQL/ Да, вот ещё. ДЛя того, чтобы увидеть новые записи, набор данных необходимо переоткрыть заново и ничего ты тут не сделаешь. |
| Автор: x77 22.5.2004, 00:07 |
| gray_k, переоткрывать необязательно, если делается CommitRetaining. но это джопустимо, только если все поля формируются на стороне клиента. если что-то (дефолтовые значения, доп. обработка в триггерах) формирует сервак, то это действительно невозможно увидеть без переоткрытия. |
| Автор: pernatij 28.5.2004, 00:43 |
| Люди, помогите!!! При создании внешнего ключа в базе данных Interbase V5.6. Вызывается ошибка - сервер говорит, что таблица, в которой этот ключ является первичным, занята другим процессом. unsuccessful metadata update -object ROOMTYPE is in use |
| Автор: gray_k 28.5.2004, 13:03 |
| Надо сделать shitdown, а потом online. Это только при отключенных юзерах и одним коннектом SYSDBA. А если на сервере больше баз нет, то проще всего просто перезапустить службу сервера. |