Невизуальные компоненты

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

Страница Data Access (Доступ к данным) – находятся невизуальные компоненты, предназначенные для организации доступа к данным:

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

Страница BDE – содержит компоненты, предназначенные для управления данными с использованием BDE:

Table – набор данных, основанный на таблице БД,

Query – набор данных, основанный на SQL-запросе,

StoredProc – вызов хранимой процедуры сервера,

DataBase – соединение с БД,

UpdateSQL – изменение набора данных, основанного на SQL-запросе или хранимой процедуре,

Компонент Database

Компонент Database служит для соединения с БД. Компонент Database можно использовать для локальных и для удаленных БД.

Основные свойства компонента:

- SessionName – указывает компонент сеанса Session, с которым связан компонент Database. Если значение этого свойства не задано, то для сеанса создается динамический объект типа TSession (объект по умолчанию).

- AliasName – указывает псевдоним БД.

- DatabaseName – задает имя БД, используемое в приложении для соединения с БД.

- Params – определяет параметры соединения (например Langdriver). С помощью этого свойства нужно устанавливать (переустанавливать) только те параметры, значения которых не устраивают разработчика.

- LoginPrompt типа Boolean управляет режимом отображения окна ввода имени пользователя и пароля. По умолчанию свойство имеет значение True, и окно появляется при пером соединении с БД. Если установить свойство в значение False, то запрос на идентификацию пользователя не выдается, и его и пароль должны быть указаны в параметрах соединения (свойство Params).

- Connected типа Boolean определяет, установлено ли соединение с БД.

Наборы данных

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

В Delphi для работы с наборами данных при использовании механизма BDE служат такие компоненты, как Table, Query, UpdateSQL, DecisionQuery или StoredProc.

Схожие свойства компонентов Table и Query:

- DatabaseName – имя каталога, в котором находится БД (файлы ее таблиц), или псевдоним, ссылающийся на этот каталог.

- Active – типа Boolean, указывает на состояние набора данных (открыт\закрыт). Если свойство имеет значение False (по умолчанию), то набор данных закрыт и его связь с БД разорвана. Если по каким-либо причинам открыть набор даны невозможно (неправильное значение свойства TableName или SQL), то свойство сохраняет значение False.

- RecordCount - позволяет узнать общее количество записей в наборе данных. Это свойство доступно для чтения при выполнении приложения.

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

- ReadOnly - простой способ сделать вашу таблицу доступной только для чтения.

Методы наборов данных:

- Open(Close) – процедура открывает (закрывает) набор данных, ее вызов эквивалентен установке свойства Active в значение True (False).

- Post - сохраняет внесенные изменения.

События наборов данных:

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

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

- BeforeClose – генерируются непосредственно перед закрытием набора данных. Можно использовать для принудительного сохранения изменений перед закрытием набора данных.

Например, вызовом метода Post:

procedure TForm1.Table1BeforeClose (DataSet: TDataSet);

begin

if (Table1.State = dsEdit) or (Table1.State = dsInsert) then Table1.Post;

end;

т.е. если набор данных Table1 находится в режиме редактирования или вставки, то перед его закрытием внесенные изменения сохраняются.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: