Правила проверки поля и записи управляют тем, что и какой тип данных вы можете ввести в поля и записи таблицы базы данных. Правила проверки предоставляют вам следующие преимущества:
-
Предоставляют путь обеспечения единообразности бизнес-правил.
-
Вам потребуется писать меньше кода.
-
Выполняются для всех пользователей таблицы базы данных, независимо от требований приложения.
При использовании правил проверки, значения вводимые в поля и в записи сравниваются с указанными вами выражениями правил. Если введенное значение не отвечает требованиям выражения правила, то эта величина отбрасывается.
Например, вы можете создать правило, которое сравнивает значение почтового индекса со значениями индексов в отдельной таблице, содержащей сокращения кодов для вашей страны или региона и отбрасывает значения, которые не существуют в ней.
Совет |
---|
Избегайте создания правил проверки уровня поля или записи, которые могут быть специфичными для конкретного приложения. Вместо этого, создайте и используйте правила проверки поля или записи для обеспечения целостности ваших данных и бизнес-правил, которые будут всегда применяться к данным в вашей базе данных, независимо от того, как и кто обращается к данным. |
Замечание |
---|
Правила проверки хранятся в файле базы данных (.dbc). Выведение из базы таблицы или ее удаление выводит и удаляет все правила проверки уровня поля и записи, которые были связаны с удаляемой или выводимой таблицей. Однако, хранимые процедуры, на которые ссылались удаленные правила проверки останутся в базе данных. |
Приведенные ниже разделы содержат более подробную информацию о работе с правилами проверки:
Выбор между правилами проверки уровня поля и записи
Вы можете использовать правило проверки уровня поля, когда справедливо приведенное ниже:
-
Вы желаете проверять тип информации, которую пользователь может вводить в поле.
-
Вы желаете проверять данные в поле независимо от любых других вводов в запись.
-
Вы желаете сравнимать значения, введенные в поле со значениями из других таблиц.
Например, вы можете использовать правило проверки уровня поля для того, чтобы убедиться в том, что пользователь не ввел отрицательного числа в поле, которое требует только положительных значений.
Вы можете использовать правило проверки уровня записи, когда справедливо приведенное ниже:
-
Вы желаете управлять типом информации, которую пользователь вводить в запись.
-
Вы желаете сравнивать значения двух или более полей в той же самой записи для гарантии того, что они отвечают с бизнес-правилами базы данных.
Например, вы можете использовать правила проверки уровня записи для того, чтобы убедиться в том, что значение в поле всегда больше другого значения в той же самой записи.
Проверка поля и правила проверки записи
Правила проверки поля и записи активны, когда данные буферированы. В общем случае, правила проверки поля проверяются, когда меняется значение поля правила проверки записи проверяется, когда меняется значение записи.
Замечание |
---|
Если значения поля или записи не изменялись, правила проверки не срабатывают. Когда значения не меняются, вы можете перемещаться по полям и записям, без их проверки. |
В приведенной ниже таблице описывается более конкретно - когда Visual FoxPro проверяет правила проверки поля в зависимости от метода ввода данных.
Изменение значения с помощью | Окно или команда | Проверяется правило поля... |
---|---|---|
Интерфейс пользователя |
Окно Browse, форам или другое окно |
При вызоде из поля. |
Команды, которые не указывают поля |
APPEND, APPEND GENERAL, APPEND MEMO, BROWSE, CHANGE, DELETE, EDIT, GATHER |
При изменении значения поля. Правило проверяется в поле в порядке, указанном в команде. |
Команды, которые не указывают поля |
APPEND с опцией BLANK, INSERT - SQL |
При добавлении или вставке записи. |
Команды, которые указывают поля |
В порядке полей, указанном в команде. |
В отличие от этого, Visual FoxPro проверяет правила проверки записи каждый раз, когда указатель записи перемещается к другой записи, независимо от используемого метода ввода данных. В дополнение к этому, в окне browse, правила проверки записи проверяются, если вы изменяете запись, не не смещаете указатель записи, а затем закрываете окно browse. Visual FoxPro генерирует любую ошибку, которая может случиться и затем закрывает окно browse.
Предупреждение |
---|
Не включайте в ваши правила проверки любые команды или функции, которые пытаются переместить указатель записи в текущей области, в которой проверяютс правила. Например, включение команд или функций, таких как SEEK, LOCATE, SKIP, APPEND, APPEND BLANK, INSERT или AVERAGE, COUNT, BROWSE и REPLACE FOR в правила проверки, могут проверять их рекурсивно, создавая условия для ошибки. |
Замечание |
---|
При вызове триггера, Alias всегда является псевдоименем обновляемого курсора, независимо от выбранного псевдоимени, в коде, который вызывает срабатывание триггера. |
Если правило проверки записи может вызвать ошибку в запущенном приложении, то вам нужно позаботиться о процедуре обработки ошибок. Обычно такой код не позволяет пользователю покинуть форму или изменить активную среду до тех пор, пока пользователь не исправит ошибку или не отменит изменения, сделанные им в записи.