Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> InterBase запросы 
:(
    Опции темы
IvanTG
Дата 16.5.2004, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 16.5.2004

Репутация: нет
Всего: нет



Пишу программу в Delphi с использованием сервера InterBase. Столкнулся с проблемой: запросы, изменяющие таблицу (Update) не всегда выполняются. Транзакция завершается нормально, а изменения на сервере не произходят.

Еще при внесении изменений не все клиенты сразу их видят. На сервере таблица уже изменилась, а на клиентских машинах запрос Slect выдает старые данные.

Как мне от этого избавится???
PM MAIL   Вверх
gray_k
Дата 17.5.2004, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1015
Регистрация: 9.1.2003
Где: Москва

Репутация: нет
Всего: 22



Цитата
Пишу программу в Delphi с использованием сервера InterBase. Столкнулся с проблемой: запросы, изменяющие таблицу (Update) не всегда выполняются. Транзакция завершается нормально, а изменения на сервере не произходят.

Значит запросы ничего не меняют
Цитата
Еще при внесении изменений не все клиенты сразу их видят. На сервере таблица уже изменилась, а на клиентских машинах запрос Slect выдает старые данные.
В параметрах транзакции напиши:
Код

isc_tpb_read_committed
isc_tpb_rec_version
isc_tpb_no_wait

После этого вызываешь метод Refresh() у набора данных и всё ОК. Кстати, если используешь TIBQuery, то не забудь прописать параметры обновления у компонента TIBUpdateSQL/
Да, вот ещё. ДЛя того, чтобы увидеть новые записи, набор данных необходимо переоткрыть заново и ничего ты тут не сделаешь.


--------------------
С уважением.
Gray.
PM MAIL   Вверх
x77
Дата 22.5.2004, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 1
Всего: 22



gray_k, переоткрывать необязательно, если делается CommitRetaining. но это джопустимо, только если все поля формируются на стороне клиента. если что-то (дефолтовые значения, доп. обработка в триггерах) формирует сервак, то это действительно невозможно увидеть без переоткрытия.



--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
pernatij
Дата 28.5.2004, 00:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Люди, помогите!!!
При создании внешнего ключа в базе данных Interbase V5.6. Вызывается ошибка - сервер говорит, что таблица, в которой этот ключ является первичным, занята другим процессом.

unsuccessful metadata update
-object ROOMTYPE is in use

  Вверх
gray_k
Дата 28.5.2004, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1015
Регистрация: 9.1.2003
Где: Москва

Репутация: нет
Всего: 22



Надо сделать shitdown, а потом online. Это только при отключенных юзерах и одним коннектом SYSDBA. А если на сервере больше баз нет, то проще всего просто перезапустить службу сервера.


--------------------
С уважением.
Gray.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0426 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.