Query(будем использовать Table, написала на всякий случай) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Query(будем использовать Table, написала на всякий случай)



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

Компонент Query похож на компонент Table, но, в отличие от последнего, он представляет не всю базу данных (все записи), а только ее часть — записи, удовлетворяющие критерию запроса.

Свойства компонента Query(основные при создании простого приложения)

Name - Имя компонента. Используется компонентом Datasource для связи результата выполнения запроса (набора записей) с компонентом, обеспечивающим просмотр записей, например DBGrid

SQL - Записанный на языке SQL запрос к базе данных (к таблице)

Active - При присвоении свойству значения True активизирует выполнение запроса

 

TDBNavigator

Он обычно размещается на форме под компонентом TDBGrid и привязывается к нему

через свойство DataSource. Значение этого свойства должно совпадать со значением

такого же свойства связанной таблицы.

Навигатор позволяет перемещаться по набору записей вперед и назад, переходить к

первой и последней записи и выполнять ряд других функций. Функции Навигатора

доступны как при щелчках на его кнопках во время работы приложения, так и из

Программного кода.

Компонент содержит десять кнопок.

First - Переход к первой записи

Prior - Переход к предыдущей записи

Next - Переход к следующей записи

Ust - Переход к последней записи

Insert - Добавление новой записи перед текущей

Delete - Удаление текущей записи

Edit - Разрешить редактирование текущей записи

Post - Записать изменения, внесенные в текущую запись, в таблицу базы данных

Cancel - Отменить режим редактирования и восстановить старые значения полей

текущей записи

Refresh - Обновить содержимое текущего набора данных (требуется, если с набором

одновременно работают несколько пользователей)

 

Свойства

Confirm Delete - Имеет значение True, если необходимо отображать диалоговое окно с запросом

на подтверждение удаления записи

DataSource - Источник данных

Flat - Имеет значение True, если кнопки на объекте будут выглядеть плоскими

Hints - Массив строк (тип TStrings), хранящий всплывающие подсказки для каждой

из кнопок

Visible Buttons - Указание на видимость кнопок

 

Метод

procedure Btn Click (Index: TNavigateBtn); - Имитация щелчка на кнопке

Навигатора

procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); - Изменение размера объекта на

форме во время работы программы

 

Событие

BeforeAction - Пользователь щелкнул на кнопке, но соответствующее действие еще не выполнено

OnClick - Выполнено одно из действий навигатора

TTable

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

Name Database - Имя компонента. Используется для доступа к свойствам компонента.

NameTable - Имя базы данных, частью которой является таблица (файл данных), для доступа к которой используется компонент. В качестве значения свойства следует использовать псевдоним базы данных

Name Table - Имя файла данных (таблицы данных), для доступа к которому используется компонент

Type - Тип таблицы. Таблица может быть набором данных в формате Paradox («Paradox), dBase (ttDBase), FoxPro («FoxPro) или представлять собой форматированный текстовый файл (ttASCII).

Active – признак активизации файла данных (таблицы). В результате присваивания свойству значения True происходит открытие файлы таблицы.

 

Свойство (Унаследованные от класса TDataSet)

Active - Имеет значение True, если набор данных открыт

Bof - Имеет значение True, если указатель расположен на первой записи в наборе данных

Eof - Имеет значение True, если указатель расположен на последней записи в наборе данных

FieldCount - Число полей в наборе данных

FieldDefs - Список определений полей дли набора данных (тип TFieldDefs)

FieldList - Список названий полей набора данных

Fields - Основное свойство для доступа к полям набора данных

FieldValues - Массив полей набора данных, доступ к которым осуществляется по названию

поля. Например: DataModule2. Games. FieldValues ['Name']:='NEW_FIELD';

Found - Имеет значение True, если выполнение одного из методов поиска в наборе закончилось успешно

Modified - Имеет значение True, если текущая запись изменена

State - Состояние набора данных. Определяет, открыт ли набор, выполняется ли редактирование или добавление записи и так далее

 

 

Свойство (Унаследованные от класса TBDEDataSet)

RecNo - Номер текущей записи в наборе данных

RecordCount - Число записей в наборе данных. Для большинства СУБД получение значения этого свойства может потребовать значительных расходов ресурсов

RecordSize - Размер записи в байтах

 

 

Свойство (Класса TTable)

CanModify - Имеет значение True, если разрешено редактировать, изменять или удалять записи в наборе данных

Defaultlndex - Имеет значение True, если при открытии таблицы записи сортируются в соответствии со значением первичного ключа

Exclusive - Имеет значение True, если таблица на время работы с ней программы блокируется для доступа к ней других программ. Такой режим поддерживается не всеми СУБД

Exists - Имеет значение True, если таблица существует в базе данных. Свойство проверяется во время работы программы, чтобы выяснить, существует ли физически таблица, указанная в программе

IndexDefs - Коллекция определений индексов (каждый из которых относится к классу TIndexDef), сформированных для данной таблицы

IndexFieldCount - Число полей для текущего индекса

KeyExclusive - Имеет значение True, если граничные записи заданного диапазона записей

таблицы не входят в этот диапазон

KeyFieldCount - Число полей ключа, используемое при поиске на его основе

ReadOnly - Таблица доступна только для просмотра

StoreDefs - Имеет значение True, если определения полей и индексов хранятся вместе с модулем данных или формой, на которой создан объект класса ТТаЫе

TableLevel - Требование к наличию драйвера ВОЕ определенного уровня

ТаЫеТуре - Тип таблицы (Paradox, dBase, текстовый и так далее)

 

 

Наиболее важные методы класса ТТаЫе, унаследованные от класса TDataSet

Procedure Append; - Добавление новой пустой записи в конец набора данных

Procedure AppendRecord(const Values: array of const); - Добавление новой записи в конец набора данных, заполнение ее полей значениями из параметра-массива и сохранение этих значений в базе данных

Procedure ClearFields; - Удаление содержимого всех полей текущей записи

Procedure Close; - Закрытие набора данных

Procedure Delete; - Удаление текущей записи и перемещение указателя к следующей записи набора

Procedure Edit; - Начало режима редактирования текущей записи (по окончании редактирования надо вызывать метод Post для сохранения значений в базе данных)

Function FindField(const FieldName: string): TField; - Поиск поля с именем, указанным в параметре FieldName, в текущем наборе данных. Если поле не найдено, функция возвращает значение nil. Данный метод полезно использовать для гарантированного безопасного изменения значений полей:

//безопасно:

DataModule2.Games.FindField ('Payability').Aslnteger:= 9;

// небезопасно:

DataModule2.Games.Fields[10].AsInteger:=9; ЕСЛИ поле отсутствует (например, по каким-то причинам удалено администратором СУБД), то в последнем случае в программе возникнет ошибка

Procedure GetFieldNames(List: Tstrings); Список названий полей возвращается в массиве строк List. Его можно занести в обычный элемент управления типа Список:

DataModule2.Games.GetFieldNames(ListBoxl. Items);

Procedure Insert; - Добавление новой пустой записи в набор данных. Ее позиция обычно определяется позицией указателя, но может зависеть и от конкретной СУБД

ProcedureInsertRecord(const Values: array of const); - Добавление новой записи в набор данных. Ее поля заполняются значениями из параметра-массива, а позиция определяется этими значениями в зависимости от наличия индексированных полей

Function IsEmpty: Boolean; - Возвращает значение True, если в наборе данных нет ни одной записи

Function IsLinkedTo(DataSource: TDataSource): Boolean; - Возвращает значение True, если набор данных связан с указанным источником данных

Procedure Open; - Открытие набора данных

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

Procedure SetFields(const Values: array of const); - Занесение во все поля текущей записи значений из параметра-массива

 

 

Наиболее важные методы, унаследованные от класса TBDEDataSet

Procedure Cancel; - Отмена изменений, внесенных в текущую запись, если

еще не был вызван метод Post

Procedure Flush Buffers; - Запись всех сделанных в наборе изменений в базу

данных

Function GetBlobFieldData(FieldNo: Integer; var Buffer: TBlob Byte Data): Integer; - Копирование двоичных данных (Blob) из записи с указанным в параметре FieLdNo номером в динамический

массив данных Buffer

procedure Getlndexlnfo; - Обновление информации о текущем индексе набора

function IsSequenced: Boolean; - Возвращает значение True, если разрешено перемещение от записи к записи присваиванием номера записи свойству RecNo. В противном случае для перехода к нужной записи надо применять методы Next/Prior.

procedure Post; - Запись внесенных изменений в базу данных

procedure Trans late (Src, Dest: PChar; ToOem: Boolean); По умолчанию считается, что наборы данных ВОЕ работают со строками в формате OEM, а система Delphi 7 использует формат ANSI, принятый в Windows. Если значение параметра ToOem раано True, то строка Src преобразовывается в строку Dest из формата ANSI в формат OEM. Если значение ToOem

равно False, преобразование происходит в противоположном направлении

 

 

Наиболее важные методы, унаследованные от класса TBDDataSet

 

function CheckOpen(Status: DBIResult): Boolean; - Возвращает значение True, если результат обращения к механизму ВОЕ успешен. В противном случае в параметр Status будет записан код ошибки

 

 

Некоторые методы класса ТТаЫе

 

function BatchMove(ASource: TBDEDataSet;AMode: TbatchMode): Longint; - Перемещение записей из набора данных TBOEDataSet в таблицу

procedure DeleteTable; - Удаление таблицы (стирание всех ее записей и удаление структуры из базы данных)

procedure EmptyTable; - Удаление всех записей из таблицы

procedure GotoCurrent(Table: ТТаЫе); - Синхронизация указателя для двух наборов данных. Указатель устанавливается на запись, являющуюся текущей для таблицы-параметра. Эти таблицы (объекты класса ТТаЫе) должны быть созданы на основе одной физической таблицы базы данных, то есть значения их свойств DatabaseName и TableName должны совпадать

 

procedure RenameTabte(const NewTableName: String); - Переименование текущей таблицы и всех вспомогательных файлов. Метод работает только с базами данных Paradox и dBASE

 

 

Важнейшие события класса ТТаЫе

AfterCancel, BeforeCancel - После (After) или до (Before) завершения метода Cancel (отмена внесенных изменений)

AfterClose, Before Close - После (After) или до (Before) завершения закрытия набора данных

AfterDelete, Before Delete - После (After) или до (Before) выполнения удалении записи

AfterEdit, BeforeEdit - После (After) или до (Before) редактирования записи

Afterlnsert, Вefоre insert - После (After) или до (Before) вставки новой записи

AfterOpen, BeforeOpen - После (After) или до (Before) открытия набора данных

AfterPost, BeforePost - После (After) или до (Before) сохранения записи в базе данных

AfterRefresh, Before Refresh - После (After) или до (Before) обновления данных в наборе данных

AfterScroll, Before Scroll - После (After) или до (Before) перемещения указателя к новой записи

OnCalcFields - Происходит определение значения вычисляемого поля

On Delete Error - Была выполнена попытка удаления записи и возникла исключительная ситуация

OnEditError - Была выполнена попытка изменения или добавления записи и возникла исключительная ситуация

OnFiLterRecord - Данное событие может обрабатываться для задания оригинального метода фильтрации записей (когда значение свойства Filtered установлено в True)

OnNewRecord - Выполняется вставка или добавление новой записи

OnPostEnor - Была выполнена попытка сохранения новой или измененной записи и возникла исключительная ситуация

 

 



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 184; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.121.160 (0.028 с.)