powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как устроить ошибку ?
13 сообщений из 13, страница 1 из 1
как устроить ошибку ?
    #34349241
нужно чтобы при выболнении sql запроса, если таблица не открыта, не выскакивал диалог выбора таблицы, а возникала ошибка, которую можно обработать. Как это устороить?
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34349268
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TRY
SELECT .....
CATCH TO loException
...
ENDTRY

С уважением, Алексей
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34349297
[quot Aleksey-K]TRY
SELECT .....


Спасибо за подсказку. А без try можно ?
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34349316
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если надо обработать ошибку, то проще всего через TRY
Как альтернатива:
1. Если команды вызывается на форме (или из другого объекта VFP), то свой код обработки ошибки помести в событии Error этого объекта
2. Если ошибку надо НЕ ДОПУСТИТЬ, то проще сначала открыть все таблицы на которые ссылается запрос
С уважением, Алексей
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34349324
[quot Aleksey-K]TRY
SELECT .....
CATCH TO loException
...
ENDTRY

У меня, кстати, не сработало. Все равно выскакивает окно выбора таблицы.
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34349338
суть в том, чтобы явно не открывать таблицы, а позволить фоксу самим их находить по мере надобности (в sql запросах), а если таблица не находится - обработать ошибку своим способом
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34349358
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каменнов В.[quot Aleksey-K]TRY
SELECT .....
CATCH TO loException
...
ENDTRY

У меня, кстати, не сработало. Все равно выскакивает окно выбора таблицы.
Так это и не ошибка! Нет таблиц в пути поиска и VFP не может их найти. Вот он и предлагает их вам указать!
С уважением, Алексей.
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34349409
авторТак это и не ошибка! Нет таблиц в пути поиска и VFP не может их найти. Вот он и предлагает их вам указать!


Об этом и спрашиваю. Можно ли сделать из этого ошибку?
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34349796
novik_one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
throw "не могу открыть таблицу"
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34349867
novik_one
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее так
Код: plaintext
1.
2.
3.
if !used("таблица")
use таблица in  0 
endif
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34350331
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каменнов В.суть в том, чтобы явно не открывать таблицы, а позволить фоксу самим их находить по мере надобности (в sql запросах), а если таблица не находится - обработать ошибку своим способомПорочный подход. Дает сбои, если псевдоним таблицы после открытия не может (должен не) совпадать с именем таблицы.
Пример.
Назовите таблицу 1.dbf и попробуйте дважды выполнить запрос
select * from 1
Потом посмотрите, как выглядят области текущей сессии данных.
То же с файлом a.dbf

Поэтому:
Перед выполнением SELECT сами позаботьтесь о том, чтобы нужные таблицы были открыты с нужными псевдонимами.

Перед окончанием работы с таблицами сами позаботьтесь об их закрытии.
Вот правильный подход.
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34350449
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каменнов В.нужно чтобы при выболнении sql запроса, если таблица не открыта, не выскакивал диалог выбора таблицы, а возникала ошибка, которую можно обработать. Как это устороить?
До версии VFP9 - только предварительно ЯВНО посмотрев, открыта ли нужная таблица через команду USED().

Начиная с версии VFP9 это можно регулировать настройкой

SET TABLEPROMPT

Правда, какая именно ошибка при этом будет генерится зависит от конкретной ситуации. Скорее всего, ошибка №1 - File "name" does not exist (Error 1)
...
Рейтинг: 0 / 0
как устроить ошибку ?
    #34350629
ВладимирМ
Начиная с версии VFP9 это можно регулировать настройкой

SET TABLEPROMPT

Правда, какая именно ошибка при этом будет генерится зависит от конкретной ситуации. Скорее всего, ошибка №1 - File "name" does not exist (Error 1)

Спасибо большое !
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как устроить ошибку ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]