Способы обращения к полю:
1. свойство Fields набора данных позволяет обратиться к полю по индексу. Индекс задаёт номер поля, к которому будет получен доступ. Поля нумеруются с нуля. Например, пусть поле Name определено в таблице базы данных третьим по счету, тогда его индекс равен 2: Table1.Fields[2]. AsString:= 'Иванов'.
Если поле входит в индекс данного набора данных, свойство IsIndexField возвращает во время выполнения значение True;
2. используя метод FieldByName набора данных, данный метод подразумевает обращение к полю по имени. Например, Table1.FieldByName('FIO').AsString:= 'Иванов';
3. используя свойство набора данных FieldValues. Это свойство позволяет обращаться к полю через его имя. Например: Table1.FieldValues['FIO']:= 'Иванов'. Поскольку свойство FieldValues принимается для набора данных по умолчанию, его имя при обращении к полю можно опускать: Table1 ['FIO']:='Иванов';
4. если полю соответствует компонент TField, то это можно сделать через имя данного компонента, определяемого свойством Name. Например:
Table1FIO.AsString:= 'Иванов'; //Или
Table1FIO.Value:= 'Иванов'.
|
|
Вычисляемые поля предназначены для показа данных, которые автоматически вычисляются в процессе работы программы, используя одно или несколько полей набора данных.
Для создания вычисляемого поля, значение которого вычисляется по значениям других полей необходимо:
− открыть окно редактора полей (Fields Editor) и через контекстное меню командой New Field вызвать диалоговое окно для создания новых полей;
− в строке Name записать имя нового поля. Строку Component (название компонента) система формирует сама;
− в выпадающем списке Type выбрать тип создаваемого поля;
− нажать ОК. В Редакторе полей появится имя нового поля, у которого в свойстве FieldKind должно быть записано Calculated;
− задать способ вычисления значения в созданном поле. С этой целью для компонента Table определить обработчик события OnCalcFields, реализующий необходимый алгоритм вычислений.
Процедура-обработчик события OnCalcFields содержит реализацию алгоритма вычисления значения вычисляемого поля или группы полей. В этом обработчике значение может быть присвоено только вычисляемому полю и не может быть присвоено полю, определенному в структуре таблицы БД.
Поля выбора данных (lookup) позволяет выбирать значения из предлагаемого списка. С полем выбора данных связывается список, который наполняется значениями из другой таблицы. По сути, значение поля отыскивается в реляционно-связанной таблице. Поле выбора данных всегда доступно только для чтения и не может быть одновременно полем выбора данных и вычисляемым полем.
Перечислите и охарактеризуйте способы визуализации данных. Охарактеризуйте визуальные компоненты вкладки Delphi-DataControls (TDBGrid, TDBText, TDBEdit, TBDCheckBox, TDBRadioGroup, TDBRichEdit, TDBCtrlGrid и др.).
|
|
Характерной особенностью визуализации данных является их подключение к необходимым компонентам-наборам через связующие компоненты TDataSourse(источник данных).
Для правильной работы компонента TDataSourse необходимо указать имя связанного с ним компонента-набора. После этого данный компонент открывает доступ компонентам визуализации к данным или блокирующего этот доступ.
Основным компонентом визуализации данных базы данных является TDBGrid. Он отображает содержимое базы данных в виде таблицы, в которой столбцы соответствуют полям базы данных, а строки - записям.
В отличие от сетки TDBGrid все рассматриваемые далее компоненты визуализируют отдельные поля текущей записи. В связи с этим говорят о двух способах визуализации данных:
1. в виде таблицы(сетки);
2. в виде формы.
В таблицах пользователь может одновременно видеть несколько записей набора данных, что облегчает ему контроль за данными и выбор необходимой записи.
При применении формы пользователь в каждый момент видит на экране лишь одну запись набора данных, но зато имеет доступ к любому ее полю, в том числе многострочному или графическому.
Для нормальной работы любого компонента нужно определить два его свойства: поместить в свойство DataSourse имя связанного с набором данных компонента-источника TDataSourse, а в ствойство DataField - имя отображаемого поля.
С помощью компонента TDBText (надпись данных) можно только отображать текстовое представление различных полей базы набора данных в том виде, в котором эти поля отображаются в сетке. Отображаемый компонентом текст нельзя изменить, и следовательно с его помощью нельзя редактировать связанное с ним поле.
Компонент TDBEdit (поле редоктирования) позволяет отображать и редактировать значения поля текущей записи набора данных. При вводе значения в компонент программа автоматически следит за тем, чтобы оно было совместимо по формату с полем набора данных. Ввод неверных значений блокируется.
Компонент TBDCheckBox (флажок данных) обладает функциональностью стандартного флажка TCheckBox, но источником данных и их приемником для него служит поле набора данных, которое может быть логическим и символьным. Компонент DBCheckBox выглядит на экране как квадратик (флажок) с текстовым заголовком. Если в нем находится галочка, то связанное с этим флажкам логическое поле текущей записи содержит значение True. Если же квадратик пуст (флажок снят), то логическое поле текущей записисодержит значение False.
Если флажокDBCheckBox применять для отображения и редактирования строковых полей, то следует воспользоваться свойствами ValueChecked и ValueUnChecked.
Компонент TDBRadioGroup (группа переключателей данных) служит для представления фиксированного набора возможных значений поля при помощи группы переключателей, из которых в каждый момент времени может быль включен (выбран) только один.
Группа переключателей работает следующим образом. Переключатель включается при переходе к очередной записи, если значение связанного с ним поля содержит одно из значений, присутствующих в списке Values. Если же поле содержит значение, отсутствующее в списке возможных, то ни один переключатель не выбирается. Изменение значения поля происходит при выборе другого переключателя группы.
Компонент TDBMemo (многострочное поле) предназначен для отображения и редактирования мемо-полей(полей комментариев), которые служат для хранения в таблицах базы данных многострочных текстов.
Компонент TDBImage (изображение) позволяет отображать графические поля, например, фотографии сотрудников.
Компонент TDBRichEdit (поле форматирования) позволяет просматривать и корректировать информацию в мемо-поле форматированного комментария. Текст форматированного комментария может содержать фрагменты, набранные различным шрифтом, размером, стилем, цветом и т.д.
|
|
Компонент TDBCtrlGrid (свободная форма) в известной мере сочетает в себе удобства обоих способов визуализации данных: он представляет собой таблицу, каждая ячейка которой отображается в виде формы.
Компонент TDBNavigator (навигатор) не предназначен для отображения данных. Его назначение - дать пользователю программы удобное средство перемещения по записям набора данных и облегчить ему такие действия как вставка новой записи, а также редактирование и удаление существующей записи.