Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Delphi: Базы данных > MS SQL Server. При попытке открытия таблицы -> Объект уже открыт


Автор: #SI# 18.12.14, 09:34
Всем здравствуйте!
"Сосед по парте" попросил помощи - коннект ОК (TADOConnection), все таблицы (TADOTable) открываются, кроме одной. Вместо неё - сообщение Объект уже открыт.
Шаманили так - Table.Open заключили в Try...Except с выдачей в иксепте сообщения об ошибке.
Таймаут в коннекшене установили на 60с (хотя ИМХО дело не в этом).
Первый раз в отладчике попали в иксепт, проклацали его и увидели данные (окно сообщения не вышло)!!! А потом что в дизайн-тайме, что в ране - иногда таблица открывается, но чаще вылезает то же самое Объект уже открыт.
Куда дальше думать?

Автор: Павел Калугин 18.12.14, 10:10
А вот так не пробовал
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    if MySuperTable.Active then MySuperTable.Close;
    MySuperTable.Open;

Это как избавится.
А как найти - да стопудово где-то он ее открывает. Или на модуль данных кинул уже открытую или кде-то в коде. Поиском по имени таблицы код шерстить

Автор: #SI# 18.12.14, 11:09
Там пока самый примитив - форма, кнопки, грид, датасорс и АДО-причиндалы :D .
Насчёт if - вроде он просто закрывает перед открытием, надо уточнить.
И есть думка попробовать через Query - в реале-то работать он будет именно через этот компонент!
Так что, как отшаманим - отпишу.

Автор: Павел Калугин 20.12.14, 17:01
Сан Иваныч проверьте еще раз дата рос на тему открытых

Автор: #SI# 22.12.14, 05:20
Как только сосед придёт - так и засяду. Самому ж интересно - что за глюк!?

Автор: #SI# 22.12.14, 07:48
Попробовал с Query - то же самое... И тут, призадумавшись, полез в свойства Query - CursorLocation был установлен по умолчанию на клиента. Поменял на сервер - и заработало.
С Table - аналогично!

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)