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

 

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

Страница 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 находится в режиме редактирования или вставки, то перед его закрытием внесенные изменения сохраняются.

еще рефераты
Еще работы по информатике