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

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


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

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

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


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

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

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

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

SET TABLEPROMPT

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

SET TABLEPROMPT

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

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


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