Программирование >>  Разработка пользовательского интерфейса 

1 ... 48 49 50 [ 51 ] 52 53 54 ... 147


Значение поля по умолчанию - это число или строка, которые служат стандартным заполнением поля при добавлении новых записей в таблицу, связанную с базой данных.

Для добавления заголовка поля таблицы базы данных в Конструкторе таблиц введите текст в поле Caption в разделе Field Properties или используйте функцию DBSETPROP().

Например, можно ввести текст Наименование модели как заголовок поля name model в таблице Model :

?DBSETPROP(Model.name model, FIELD, CAPON,; Наименование модели)

В процессе создания полей таблицы производится выбор типов данных, для хранения которых предназначаются поля. При определении типа данных для поля следует помнить:

Какого рода значения допускаются для данного поля (например, в числовое поле нельзя будет заносить текст).

Объем памяти, резервируемый Visual FoxPro для хранения значений поля (например, для каждого значения типа Currency используется 8 байтов).

Какого рода операции могут производиться над значениями данного поля. Например, Visual FoxPro может находить суммы значений выражений типов Numeric или Currency, но не сможет провести эту операцию с выражениями типов Character или General.

Сможет ли FoxPro выполнять индексирование или сортировку по значениям данного поля (невозможно выполнять сортировку или индексирование по полям примечаний или General).

Для телефонных номеров, кодов изделий и других чисел, с которыми не предполагается выполнять математические вычисления, следует задавать тип данных Character, а не тип Numeric. Если вы используете поле для размещения уникального цифрового ключа, используйте тип данных Integer.

При построении новой таблицы может быть задано, что одно или несколько ее полей допускают значения NULL. Занесение в поле значения NULL констатирует тот факт, что информация, которая обычно должна храниться в данном поле или записи, в настоящее время недоступна.

Как управлять использованием значений NULL для отдельных полей? В Конструкторе таблиц установите или снимите отметку со столбца Null для данного поля. Если столбец Null отмечен, то в поле могут вводиться значения NULL (см. рис. 6.2). В программе используйте предложения NULL или NOT NULL в команде CREATE TABLE.

Например, следующая команда создает и открывает таблицу, в которой не допускаются значения NULL в поле key body, а разрешаются значения NULL в поле name body:

CREATE TABLE body (key body i NOT NULL, name body c(20); NULL)

Можно также определять режим использования значений NULL с помощью команды SET NULL.

Для того чтобы разрешить использование значений NULL во всех полях таблицы в Конструкторе таблиц, отметьте столбец Null для каждого поля таблицы или перед использованием команды CREATE TABLE выполните команду SET NULL ON.

После команды SET NULL ON Visual FoxPro автоматически отмечает столбец NULL для всех полей, создаваемых в Конструкторе таблиц. Если команда SET NULL задана до использования команды CREATE TABLE, то нет необходимости указывать предложения NULL или NOT NULL. Например, следующий программный код создает таблицу, в которой допускаются значения NULL для всех полей:

SЕТ NULL ON

CREATE TABLE Fuel oil (key fuel oil I, name fuel oil C(20))

Наличие значений NULL оказывает влияние на свойства таблиц и индексов. Например, если команда APPEND FROM используется для копирования записей из таблицы, где есть значения NULL, в таблицу, где они не допускаются, то значения NULL будут при копировании рассматриваться или как пустые строки, или как нули, или как пустые поля.

Если требуется, чтобы при добавлении новой записи автоматически заполнялось некоторое поле, то для такого поля можно задать значение по умолчанию.



Table Designer

Jable Name: I customer

Database:

I c:\proect book\aLito :tore dbc

Table Properties...

Table

Name

Tijpe

Index

Width DecimalNULL

keiJ customer name customer

Integer Character-

address

last name first name

I Character Character-Character

Character-Character

зга

Cancel

12 12 17 17

Insert

Delete

pField Properties ( address ) Validation Rule:

Validation Text: Default Value: С-Петербург Caption: [Адрес

iield Comment:

c:\proiect book\customer.dbf

Records:

5 Fields: 10 Length: 145

Рис. 6.3. Задание значения по умолчанию в Конструкторе таблиц

Предположим, в силу географического положения магазина чаще всего адрес клиентов данного магазина начинается с фразы Санкт-Петербург . В следующем примере создается поле address со значением по умолчанию Санкт-Петербург :

CREATE TABLE Customer (key customer I, name customer C(30), ; address C(30) DEFAULT Санкт-Петербург , ; tel C(12), fax C(12), last name C(17), first name C(17),; patronymic C(17), juridical L, comment M)

Если таблица Customer уже имеет поле address, то добавить для него значение по умолчанию можно следующей командой:

ALTER TABLE Customer ALTER COLUMN address SET DEFAULT ; Санкт-Петербург

Значения по умолчанию могут использоваться для ускорения ввода данных, позволяя пропускать при вводе поля, для которых не требуется значение, отличное от стандартного.

Если по бизнес-правилам в приложении требуется обязательное наличие значения некоторого поля, то задание значения по умолчанию помогает избежать нарушения соответствующих правил проверки полей и записей.

При удалении таблицы из базы данных удаляются и все связанные с таблицей значения по умолчанию. Хранимые процедуры, на которые ссылались удаляемые значения по умолчанию, сохраняются и после удаления значений по умолчанию.

В качестве значений по умолчанию можно задавать как явные значения в виде чисел, строк символов, дат и т. д., так и выражения, дающие явные значения в результате вычислений. В

Значения по умолчанию применяются как при вводе данных с помощью формы, так и при вводе в окно просмотра с помощью представлений или программно и сохраняются в поле, пока не будут введены другие значения.

Значения по умолчанию могут быть заданы в Конструкторе таблиц или программно. Значения по умолчанию могут быть заданы для полей любого типа, кроме General.

Для того чтобы задать значение по умолчанию для поля таблицы, включенной в базу данных, в Конструкторе таблиц введите значение в поле Default Value, находящееся в группе Field Properties (рис. 6.3), или используйте выражение DEFAULT в команде CREATE TABLE.



Правила проверки полей и записей контролируют вводимые значения на выполнение заданного критерия. Если вводимое значение не удовлетворяет критерию, оно отвергается.

Правила проверки могут задаваться только для таблиц, связанных с базой данных.

Правила проверки полей и записей позволяют контролировать ввод информации как в окне просмотра, так и в экранной форме или при вводе данных из программы. При прочих равных условиях правила проверки позволяют задать контролирующее выражение лаконичнее, чем при использовании выражения VALID при проектировании экранной формы или соответствующего кода в программе. Вдобавок, будучи установленными для таблицы базы данных, правила проверки распространяются на все приложения, использующие данную таблицу.

Для контроля вводимых данных можно также определить первичные индексы и индексы-кандидаты, которые предотвращают ввод дублирующих значений полей, а также можно определить триггеры, обеспечивающие целостность ссылок или выполняющие какие-либо действия при изменении данных в базе данных.

Ограничения на уровне поля применяются в тех случаях, когда требуется проверять вводимую в поле информацию независимо от остальной части записи. Например, можно использовать правило проверки поля, чтобы исключить возможность ввода отрицательного числа в поле, которое должно иметь положительное значение. Можно использовать правила проверки поля и для сравнения вводимого в поле значения со значением из другой таблицы.

Не следует задавать такие правила проверки полей и записей, если эти поля и записи являются специфическими для данного приложения. Правила проверки записей и полей должны обеспечивать целостность данных и бизнес-правила, которые всегда применимы к базе данных независимо от приложения. Например, можно задать правило, которое будет сравнивать значение, вводимое в поле key body, со значениями из справочной таблицы кузовов, и отвергать те значения, которые не обнаружатся среди допустимых кодов кузовов.

Как задать правило проверки поля? В Конструкторе таблиц введите выражение критерия в поле ввода Validation Rule в группе Field Properties (рис.6.4) или используйте выражение CHECK в

команде CREATE TABLE или ALTER TABLE.

качестве такого выражения можно использовать и пользовательскую функцию. В этом случае такую функцию целесообразно записать в хранимых процедурах.

Visual FoxPro производит вычисления для определения типов данных при закрытии определения таблицы. Если тип вычисленного значения несовместим с типом соответствующего поля, то генерируется сообщение об ошибке. Если выражение представляет собой определенную пользователем функцию или содержит вызовы таких функций, то такое выражение не вычисляется.

Для того чтобы обеспечить соблюдение бизнес-правил при вводе данных, можно задать правила проверки полей и записей, которые контролируют допустимость вводимых данных в таблицу базы данных.



1 ... 48 49 50 [ 51 ] 52 53 54 ... 147

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика