- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Таблица A
- •Таблица A
- •Таблица A
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Элементы языка SQL
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Физическое проектирование БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •Технологии построения информационных систем – приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
- •: Проектирование приложений БД
: Проектирование приложений БД
Классы библиотеки 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.