Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
23
Добавлен:
01.05.2014
Размер:
526.34 Кб
Скачать

: Проектирование приложений БД

Классы библиотеки VCL Delphi

Класс TDataSourse

Класс TDataSource реализует связь между компонентами - наборами данных и элементами управления, используемыми для отображения данных. При построении отношений между таблицами "родительская-дочерняя" компонент "источник данных" служит для связывания наборов данных, указывая родительский набор данных. Класс TDataSource содержит набор свойств и методов, используемых для доступа к набору данных, включая следующие:

AutoEdit свойство, определяющее, будет ли автоматически вызываться метод Edit набора

данных

при получении фокуса элементом управления, ассоциированным с источником данных;

 

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

DataSet

во время выполнения, можно эффективно переключаться на работу с

различными

наборами данных, отображая разные наборы данных в одних и тех же

элементах

 

управления. Например:

 

 

DataSource.DataSet := Table1;

 

 

Enabled свойство, определяющее, будет ли элемент управления отображать

ассоциированные с

ним данные, или будет отображаться пустым;

 

 

State свойство, позволяющее определить состояние используемого набора данных.

 

 

Например:

if DataSource1.Dataset <> nil then

//Кнопка доступна только в том случае, если набор данных находится в состоянии //редактирования или вставки новой записи

BtnPost1.Enabled := DataSource1.State in [dsEdit, dsInsert];

: Проектирование приложений БД

Классы библиотеки VCL Delphi

Класс TIBTable

Компонент типа TIBTable используется для доступа к БД InterBase посредством определения источника данных DSN и имени таблицы базы данных. При этом допускается выбор всех полей таблицы или только части полей, а также задание фильтра, определяющего, какие строки таблицы будут доступны.

Компоненты типа TIBTable могут использовать все свойства и методы, наследуемые от класса TDataSet, а также свойства и методы класса TIBTable для набора данных, включая следующие:

DatabaseName

свойство, определяющее имя источника данных DSN;

CanModify

свойство, определяющее, может ли приложение выполнять вставку,

 

редактирование и удаление записей в таблице;

DefaultIndex

свойство, определяющее, должны ли данные в таблице быть

 

упорядочены при ее открытии. Если значение свойства равно True (по

 

умолчанию), то выполняется упорядочивание по первичному ключу или

 

уникальному индексу;

IndexName

свойство, позволяющее определить вторичный индекс, используемый

 

для сортировки открываемого набора данных;

Exclusive

свойство, позволяющее установить исключительный режим доступа к

 

таблице (значение свойства должно быть определено до открытия

 

таблицы);

 

: Проектирование приложений БД

 

Классы библиотеки VCL Delphi

 

Класс TIBTable

MasterSource

свойство, определяющее имя компонента "источник данных"

 

родительской таблицы для установления отношения между таблицами

 

"родительская-дочерняя";

MasterFields

свойство, определяющее одно или несколько полей из родительской

 

таблицы, служащих для связи с соответствующими полями данной

 

дочерней таблицы (Это задает отношение между родительской и

 

дочерней таблицами. Поля в списке разделяются точкой с запятой);

ReadOnly

свойство, позволяющее установить для таблицы режим доступа "только

 

для чтения";

TableName

свойство, указывающее используемую таблицу базы данных;

RecNo

свойство, указывающее номер текущей записи набора данных;

FindKey

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

 

списке, для ключевого поля;

FindNearest

метод, перемещающий курсор на запись, содержащую значение,

 

наиболее близкое к указанному значению ключевого поля (поиск может

 

выполняться как по одному значению, так и по нескольким, если

 

используется составной индекс).

: Проектирование приложений БД

Классы библиотеки VCL Delphi

Класс TIBQuery

1.Компонент типа TIBQuery позволяет выполнять любой SQL-оператор, допустимый по синтаксису InterBase. Если в качестве выполнимого оператора используется SQL- оператор SELECT, то компонент возвращает набор данных (результирующий набор).

2.В отличие от класса TIBTable, класс TIBQuery позволяет создавать наборы данных из нескольких таблиц, а также ограничивать получаемый набор данных определенными условиями. Это отменяет необходимость извлечения всех записей таблицы в набор данных, что, в свою очередь, экономит память, сокращает сетевой трафик для удаленных баз данных и уменьшает время доступа.

3.Для определения набора данных TIBQuery следует установить значение свойства SQL и свойства DatabaseName (свойство DatabaseName определяет имя источника данных). По умолчанию, набор данных, формируемый компонентом типа TIBQuery, не является редактируемым.

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

связать компонент TIBQuery с компонентом типа TIBUpdateSQL

Query1.UpdateObject:= UpdateSQL1;

определить для последнего значение свойств ModifySQL, InsertSQL, UpdateSQL

: Проектирование приложений БД

Классы библиотеки VCL Delphi

Класс TIBQuery

Класс TQuery содержит свойства и методы, используемые для работы с набором данных, включая следующие:

DataSource свойство, позволяющее указать родительский набор данных (для отношения "родительский-дочерний").

Например, если свойство SQL содержит значение

'SELECT * FROM RASHOD WHERE TOVAR = :TOVAR‘ ,

то значение переменной связи :TOVAR будет определяться из источника данных, указанного свойством DataSource.

Params свойство, содержащее список параметров для SQL-оператора.

Например:

Query3.SQL.Clear; // Очищаем значение свойств

//Динамически формируем код SQL-оператора INSERT

Query3.SQL.Add('INSERT INTO ADDRESS (F1, F2)');

//Имена параметров указываются после символа :

Query3.SQL.Add('VALUES (:F1, :F2)');

//Устанавливаем значение параметров

Query3.Params[0].AsString := 'Abc'; Query3.Params[1].AsInteger := 123;

//Выполнение SQL-оператора

Query3.ExecSQL;

: Проектирование приложений БД

Классы библиотеки VCL Delphi

Класс TIBQuery

SQL свойство, содержащее текст SQL-оператора (для автоматического формирования SQL- оператора можно вызвать из контекстного меню компонента TQuery диалог SQL Builder);

DatabaseName свойство, определяющее имя подключаемого источника данных (имя DSN источника данных или имя, введенное классом типа TDatabase);

ExecSQL

метод, выполняющий SQL-оператор, указанный свойством SQL (для SQL-

оператора, создающего набор данных, вместо ExecSQL используется метод Open).

ExecSQL можно вызывать для таких SQL-операторов как

INSERT, UPDATE, DELETE,

CREATE TABLE и т. п.

 

 

Если перед вызовом Open или ExecSQL не был вызван метод Prepare, то SQL-оператор

будет одновременно и откомпилирован, и выполнен.

 

 

Prepare метод, выполняющий компиляцию SQL-оператора. Вызов этого метода

перед

ExecSQL увеличивает скорость выполнения запроса при

многократном повторении

вызовов ExecSQL для одного и того же оператора (например, параметризированного запроса). Это позволяет откомпилировать SQL-оператор только один раз, а затем многократно его выполнять.

: Проектирование приложений БД

Классы библиотеки VCL Delphi

Класс TIBUpdateSQL

Объект типа TIBUpdateSQL позволяет для наборов данных, созданных с доступом "только для чтения", поддерживать возможность их обновления посредством выполнения SQL-оператора.

Класс TIBUpdateSQL реализует следующие свойства и методы:

DeleteSQL

свойство, определяющее SQL-оператор DELETE.

InsertSQL

свойство, определяющее SQL-оператор INSERT.

ModifySQL

свойство, определяющее SQL-оператор UPDATE.

ExecSQL

метод, выполняющий один из заданных SQL-операторов (в зависимости

 

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

 

ukDelete, ukInsert,ukModify).

: Проектирование приложений БД

Классы библиотеки VCL Delphi

Класс TIBDatabase

Класс TIBDatabase реализует работу с объектом "база данных" и предоставляет средства контроля над соединением с базой данных.

Класс TIBDataBase реализует следующие свойства и методы:

DatabaseName свойство, определяющее путь к БД

DеfaultTransaction

свойство, определяющее транзакцию по умолчанию для

соединения с БД.

 

Params свойство, определяющее параметры соединения. например:

user_name=SYSDBA password=masterkey lc_ctype=WIN1251

Open метод, открывающий соединение с БД

Сlose метод, закрывающий соединение с БД

: Проектирование приложений БД

Классы библиотеки VCL Delphi

Класс TIBTransaction

Класс TIBTransaction позволяет управлять транзакциями. Свойства и методы:

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

DеfaultDatabase свойство, определяющее компонент соединения с БД по умолчанию.

Params свойство, определяющее параметры транзакции Пример:

read_commited rec_version nowait

StartTransaction метод, открывающий новую транзакцию;

Commit метод, выполняющий фиксацию текущей транзакции;

Rollback метод, выполняющий откат текущей транзакции;

: Проектирование приложений БД

Классы библиотеки VCL Delphi

Классы компонентов управления данными

Компоненты управления данными расположены на странице Data Controls палитры компонентов. Многие из этих компонентов аналогичны элементам управления страницы Standard, с тем лишь отличием, что связаны через источник данных (компонент типа TDataSource) с определенным полем (или полями) из набора данных (компонентов типа TTable или TQuery).

Библиотека VCL предоставляет следующие классы компонентов управления данными:

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

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

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

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

TDBImage - класс, реализующий объект "рисунок", в котором можно отображать и изменять значение поля набора данных формата BLOB.

Соседние файлы в папке Презентации по технологиям БД