КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Основные свойства класса TTableРассмотрим некоторые свойства, необходимые для реализации простейших приложений. Некоторые из них доступны только в режиме программирования (они помечены индексом p), остальные доступны и в режиме разработки (в Инспекторе Объектов), и в режиме программирования. Значения, доступные в Инспекторе Объектов, могут быть изменены программно. Если эти значения программно не изменяются, то они сохраняются в процессе выполнения приложения. После завершения работы приложения восстанавливаются значения, заданные в Инспекторе Объектов. Active – открывает (True) или закрывает (False) доступ к НД. DatabaseName – содержит псевдоним БД. TableName– имя представляемой компонентом таблицы БД, устанавливается в режиме разработки для обеспечения связи с таблицей. ReadOnly- определяет, позволяет ли объект класса TTable только считывать данные из таблицы БД или также и редактировать их. В первом случае свойство имеет значение True, а во втором - False. Filter, Filtered – обеспечивают установку фильтра на физическую таблицу БД с целью отбора записей, удовлетворяющих заданным условиям. Filtered определяет установку критерия (True), определенного в Filter, или отменяет фильтр (False). Значение свойства Filter – строка следующей структуры: <имя поля><знак сравнения><значение>. Например, для отбора из таблицы только таких записей, значения поля Mark в которых больше 4, необходимо выполнить следующие операторы:
Table1.Filtered:=true; Table1.Filter:='Mark>4';
Для отмены фильтра достаточно выполнить оператор:
Table1.Filtered:=false;
Строковые конcтанты заключаются в апострофы, при этом используется соглашение, что два апострофа подряд внутри строки задают апостроф как символ. Например, оператор Table1.Filter:='Name='''+ 'Иванов''' задаст как критерий отбора условие: Name='Иванов'. В критерии отбора можно задавать и несколько условий, соединенных логическими операторами: Table1.Filter:='Mark>4 and Name='''+'Иванов'''.
Fields p – позволяет обратиться к значениям полей НД по номеру поля. Свойство Fieldsимеет тип TFields, который представляет собой массив значений типа TField. Поля нумеруются начиная с 0, в порядке их следования в таблице БД, если для компонента Table не созданы поля специально (см. далее Доступ к значениям полей по имени). Например, для вывода на экран значения поля Name текущей записи можно воспользоваться следующим оператором:
ShowMessage(Table1.Fields.Fields[0].AsString) или, короче,
ShowMessage(Table1.Fields[0].AsString).
Обозначение свойства Fields можно опускать. IndexName– содержит имя используемого индексного файла для таблицы БД и рассматривается далее (см. Лекция 6). Recnop - определяет номер текущей записи таблицы. Значение свойства доступно только при выполнении приложения и только для считывания. Свойство не учитывает установленный на таблицу фильтр. Следующий оператор в окне сообщений выводит номер текущей записи для таблицы БД, представленной компонентом с именем Table1:
ShowMessage(IntToStr(Table1.Recno)). RecordCountp – определяет количество записей в таблице. Значение свойства доступно только при выполнении приложения и только для считывания. Свойство учитывает установленный на таблицу фильтр, т.е. вычисляет количество отфильтрованных записей. Следующий оператор в окне сообщений выводит количество записи в таблице БД, представленной компонентом с именем Table1:
ShowMessage(IntToStr(Table1.RecordCount)). Свойства MasterFields, MasterSource необходимы для реализации одновременного отображениянесколькихтаблиц и будут рассмотрены позднее в Лекции 6. Bofp – принимает значение True, когда открывается таблица, осуществляется непосредственный переход к первой записи таблицы или попытка перейти от первой записи таблицы к предыдущей, в остальных случаях имеет значение False. Eofp – принимает значение True, когда открывается пустая таблица, осуществляется непосредственный переход к последней записи таблицы или попытка перейти от последней записи таблицы к следующей, в остальных случаях имеет значение False. Эти свойства обычно используются для просмотра записей таблицы от последней к первой или обратно. Например, последовательный переход от первой к последней записи таблицы осуществляется с помощью следующего программного кода: //Открытие таблицы Table1.Active:=true; while not Table1.Eof do // Пока не дошли до конца таблицы Begin <доступ к текущей записи таблицы>; <переход к очередной записи таблицы> end;
|