Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.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 |
Там пока самый примитив - форма, кнопки, грид, датасорс и АДО-причиндалы . Насчёт if - вроде он просто закрывает перед открытием, надо уточнить. И есть думка попробовать через Query - в реале-то работать он будет именно через этот компонент! Так что, как отшаманим - отпишу. |
Автор: Павел Калугин 20.12.14, 17:01 |
Сан Иваныч проверьте еще раз дата рос на тему открытых |
Автор: #SI# 22.12.14, 05:20 |
Как только сосед придёт - так и засяду. Самому ж интересно - что за глюк!? |
Автор: #SI# 22.12.14, 07:48 |
Попробовал с Query - то же самое... И тут, призадумавшись, полез в свойства Query - CursorLocation был установлен по умолчанию на клиента. Поменял на сервер - и заработало. С Table - аналогично! |