
- •35. Поиск информации методами FindFirst, FindPrior, FindNext и Find.
- •36. Способы сортировки.
- •38. Состояние набора данных. Свойство State.
- •39. Свойства компонента tDataSource.
- •40. События DataSource.
- •41. Свойства класса tField.
- •43. Организация связи между таблица. Главная/подчиненная.
- •44. Режим кэширования изменений.
- •45. Основные сведения о языке sql.
40. События DataSource.
TDataSource имеет три ключевых события, связанных с состоянием БД
OnDataChange
OnStateChange
OnUpdateData
41. Свойства класса tField.
Свойства класса TField
Свойство |
Описание |
type ТAlignment = (taLeftJustify, taRightJustify, taCenter); property Alignment: TAlignment; |
Определяет выравнивание значения поля при его отображении: taLeft Justify — выровнять влево; taRightJustify — выровнять вправо; taCenter — выровнять по центру |
TBcd = packed record Precision: Byte; SignSpecialPlaces: Byte; Fraction: packed array [0. .31] of Byte; end; property AsBCD: TBcd; |
Приводит поле к двоично-десятичному значению |
propertyAsBoolean: Boolean; |
Приводит значение поля к логическому типу |
property AsCurrency: Currency; |
Приводит значение поля к типу Currency |
property As Da teTime: TDateTime; |
Приводит значение поля к типу дата-время |
propery As Float: Double; |
Приводит значение поля к типу Double |
Свойство |
Описание |
|
property As Integer: Integer; |
Приводит значение поля к типу Integer |
|
type TSQLTimeStamp = packedrecord |
Используется в технологии dbExpress |
|
Year : SmallInt; Month : Word; Day : |
для максимально точного представления даты |
|
Word; Hour : Word; Minute : Word; |
и времени |
|
Second : Word; Fractions : |
|
|
LongWord; end; property |
|
|
AsSQLTimeStamp:TSQLTimeStamp; |
|
|
propertyAsString: String; |
Приводит значение поля к типу String |
|
propertyAsVariant: Variant; |
Приводит значение поля к типу Variant |
|
property AttributeSet: String; |
Содержит имя набора атрибутов поля в словаре |
|
|
данных (см. ниже первое примечание) |
|
type TAutoRef reshFlag = (arNone, |
Указывает, будет ли значение поля создаваться |
|
arAutoInc, arDefault) ; property |
самой БД (автоинкрементное поле — |
|
AutoGenerateValue: |
arAutoInc или поле со значением |
|
TAutoRefreshFlag; |
по умолчанию — arDefault) |
|
property Calculated: Boolean; |
Содержит True, если значение поля |
|
|
вычисляется в обработчике события |
|
|
OnCalcFields |
|
property CanModifу: Boolean; |
Содержит True, если значение поля можно |
|
|
изменять |
|
property ConstraintErrorMessage: |
Содержит сообщение, которое будет появляться |
|
String; |
при нарушении ограничений на значение поля |
|
property Curvalue: Variant; |
Содержит текущее значение с учетом возможных |
|
|
изменений, внесенных другими пользователями |
|
property CustomConstraint: String; |
Содержит SQL-строку, определяющую |
|
|
ограничения на значения данных (см. ниже |
|
|
второе примечание) |
|
property DataSet: TDataSet; |
Связанный с полем набор данных |
|
property DataSize: Word; |
Содержит размер данных |
|
property DataType: TFieldType; |
Тип TFieldType представляет собой |
|
|
перечисление, определяющее тип данных |
|
|
(см. ниже) |
|
property Def aultExpression : |
Содержит SQL-выражение, определяющее |
|
String; |
значение по умолчанию (то есть значение, |
|
|
которое оказывается в поле, если пользователь |
|
|
не вводит никакого значения) |
|
property DisplayLabel: String; |
Содержит текст заголовка столбца в сетке |
|
|
TDBGrid |
|
property DisplayName: String; |
Содержит имя поля: совпадает со значением |
|
|
свойства DisplayLabel, если это свойство |
|
|
со определено, в противном случае совпадает |
|
|
со значением свойства FieldName |
|
propertyDisplayText: String; |
Содержит текст, который подготовлен |
|
|
обработчиком события OnGetText |
|
|
для отображения значения в визуальных |
|
|
компонентах |
продолжение #
Таблица П.1 (продолжение) |
|
Свойство |
Описание |
property DisplayWidth: Integer; |
Содержит количество символов свойства |
|
DisplayText; после умножения на среднюю |
|
ширину символа определяет ширину колонки |
|
таблицы |
property EditMasк: String; |
Определяет маску, которая будет использоваться |
|
для фильтрации и форматирования вводимого |
|
значения (см. ниже) |
property EditMaskPtr: String; |
Открывает доступ только для чтения к свойству |
|
EditMask, что позволяет защитить маску |
|
от случайных изменений |
typeTFieldKind= (fkData, |
Определяет тип поля: f kData — обычное поле; |
fkCalculated, fkLookup, |
f kCalculated — вычисляемое поле; |
fklnternalCalc, fkAggregate); |
f kLookup — подстановочное (Lookup) поле; |
property FieldKind: TFieldKind; |
f klnternalCalc — внешнее вычисляемое |
|
поле (см. ниже); fkAggregate — агрегатное поле |
property FieldName: Strings- |
Имя поля, если не задано свойство |
|
DisplayLabel |
property Fie ldNo : Integers- |
Содержит порядковый номер поля в наборе |
|
данных (нумерация начинается с 1). |
|
Используется при непосредственном обращении |
|
к API BDE |
property FullName: Strings- |
Определяет префикс для FieldName |
|
в составных полях |
property HasConstraints: Boolean; |
Содержит True, если на значение поля |
|
наложены ограничения. Не учитывает |
|
ограничения, вводимые маской EditMask |
property ImportedConstraint: |
Содержит SQL-предложение, определяющее |
Strings- |
реализуемые в сервере БД ограничения |
|
на значение поля |
property Index: Integers- |
Содержит индекс поля; определяет порядок, |
|
в котором поля показываются в сетке TDBGrid |
property IsIndexField: Boolean; |
Содержит True, если поле — индексное |
property IsNull: Boolean; |
Содержит True, если не определено значение поля |
property KeyFields : Strings- |
Список индексных полей текущего набора |
|
для связи со свойством LookupDataSet |
property Lookup: Boolean; |
Содержит True, если тип поля f tLookup. |
|
Введено для совместимости с ранними версиями |
|
Delphi |
property LookupCache: Boolean; |
Разрешает/запрещает кэширование значений |
|
записей для подстановочных полей |
property LookupDataSet: TDataSet; |
Определяет НД, в котором ищутся значения |
|
полей LookupKeyFields |
Свойство |
Описание |
property LookupKeyFields: Strings- |
Список индексных полей в свойстве |
|
LookupDataSets которые должны |
|
соответствовать полям KeyFields |
property LookupList: TLookupList ,* |
Список значений для подстановочных полей |
property LookupResultField: Strings- |
Значение, выбранное из списка LookupList |
property NewValue: Variant,* |
Новое значение поля (до завершения транзакции) |
property Of f set: Word,' |
Содержит количество байтов, на которое было |
|
увеличено кэшируемое BLOB-поле |
property OldValue: Variant,* |
Старое значение поля |
property Origin: String |
Содержит имя поля в физической таблице БД |
property ParentField: |
Указывает родительское поле во вложенном |
TObjectField; |
поле. Содержит NIL, если текущее поле |
|
не является частью сложного поля |
type TProviderFlag = (pflnUpdate, |
Указывает, как использовать это поле |
pfInWhere, pfInKey, pfHidden); |
при пересылке серверу пакета записей |
TProviderFlags = set of |
для обновления: pf InUpdate — поле |
TProviderFlags* property |
появляется в предложении UPDATE и. |
ProviderFlags: TProviderFlags ,* |
следовательно, может обновляться; |
|
pf InWhere — поле появляется в предложении |
|
WHERE и, следовательно, используется |
|
для поиска обновленных записей; pf InKey — |
|
поле используется для поиска записей в случае |
|
возникновения ошибки обновления; |
|
pfHidden — поле включено в пакет |
|
для обеспечения уникальности записей |
|
и не показывается пользователю |
property Readonly: Boolean; |
Содержит True, если поле предназначено |
|
только для чтения |
property Required: Boolean |
Если содержит True, значение каждой записи |
|
поля не может быть пустым |
property Size: Word,' |
Текущая длина записи в полях с переменной |
|
длиной записи |
property Text: Strings- |
Текст, которым отображается значение записи |
|
в режиме редактирования. В остальных режимах |
|
запись отображается содержимым DisplayText |
type TFieldChars = set of Chars- |
Определяет набор символов, которые могут |
property ValidChars : TFieldChars; |
использоваться при вводе значения поля |
property Value: Variant ,* |
Содержит текущее значение поля |
property Visible: Boolean ,* |
Разрешает/запрещает показ поля в визуальных |
|
компонентах |
42. Вычисляемое поле (Calculated Fields) . Вычисляемое поле (или виртуальное поле, пользовательское поле, computed field, calculated field) — это поле, которого физически нет в таблице, и значение которого вычисляется на основании других полей или подзапроса. |
|