Определяет уровень контроля целостности файла таблицы (.dbf). Используйте команду SET TABLEVALIDATE для тонкой настройки контроля целостности заголовка соответствующего файла, (в отличие от стандартной установки = +1+2).
SET TABLEVALIDATE TO [nLevel] |
Параметры
- nLevel
-
Определяет уровень контроля целостность таблицы, состоящий из нескольких подуровней.
Примечание
Значение по-умолчанию: nLevel = 3 (+1+2).
В следующей таблице приводится подробное описание структуры параметра nLevel.
Номер Бита Значение, (добавляемое) Описание 0
0
Контроль Таблицы не выполняется.
0
+1
Проверяется количество записей, при открытии таблицы.
Примечание
При проверке блокируется заголовок таблицы (.dbf). Данная операция может иметь отрицательный результат для таблиц, открытых в режиме коллективного использования, например, выполняется команда USE... с опцией SHARED, или выполняются команды SQL SELECT, UPDATE, INSERT, или DELETE, для еще неоткрытых таблиц, действует установка SET EXCLUSIVE = OFF.
1
+2
Проверка количества записей при добавлении и вставке; сохранении на диске, в файле.
2
+4
Подавляет ошибку "File is in use (Ошибка 3)", если заголовок не может быть блокирован, при открытии таблицы; требует дополнительную установку 1-го бита (+4+1) - для вычисления, проверки количесва записей.
Примечание
При открытии таблицы командой USE , выполняется попытка блокировки заголовка. Если заголовок блокируется, то Visual FoxPro строго проверяет целостность заголовка таблицы, аналогично SET TABLEVALIDATE = +1. В другом случае, Visual FoxPro подавляет сообщение "File is in use" и выполняет тестирование заголовка, как в младших версиях, менее чем Visual FoxPro 8.0.
3
+8
Сначала Проверка заголовка файла (.dbf), за тем - запись добавляемой информации на диск, а после - модификация заголовка.
Комментарии
SET TABLEVALIDATE не выполняет устранение ошибок; команда выполняет только проверку, в соответствии с заданным уровнем nLevel.
SET TABLEVALIDATE не действует для временных файлов и Курсоров.
Для задания параметра SET TABLEVALIDATE в файле конфигурации Config.fpw, разместите там следующую строку:
![]() | |
---|---|
TABLEVALIDATE = nLevel |
Если таблицы открываются в режиме монопольного использования (exclusively), и установка SET TABLEVALIDATE >= 8, то данная установка игнорируется.