Компонент Query

Модификация данных

Алгоритм установки связи

  1. Индексация по полям связи: в Database Desktop в окне Table Properties/Secondary Indexes/Define и сохранить (у child).
  2. Установление ссылочной целостности: в Database Desktop в окне Table Properties/Referential Integrity/Define выбрать главную таблицу и внешний ключ подчиненной (child) и связь сохранить.
  3. Организация связи Master – Detail (3 способа рассмотрены в Пособии) программно:

Table1.DatabaseName:= 'proba'; //выбор псевдонима

Table1.TableName:= 'tovar.db'; //связь компонента доступа с таблицей

DataSource1.DataSet:= Table1; //связь ком-та доступа с к-том связи

DBGrid1.DataSource:= DataSource1; //к-та связи с к-том отображения

Table1.Open; //открытие набора данных

Table2.DatabaseName:= 'proba';

Table2.TableName:= 'prixod.db';

DataSource2.DataSet:= Table2;

DBGrid2.DataSource:= DataSource2;

Table2.MasterSource:= DataSource1; //связывание с источником

Table2.Indexname:= 'in_tov_prih'; //по индексному ключу

Table2.MasterFields:= 'Tovar'; //данного поля

Table2.Open;

Модификация данных непосредственно в таблицах нежелательна, т.к. это может привести к непредсказуемым событиям.

Модификация данных проводится только через отдельные формы данных с верификацией вводимых данных:

• введения ограничений на диапазон данных,

• проверка типа вводимых данных,

• обработка исключительных ситуаций Try…Except, Try…Finaly.

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

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

SQL - записанный на языке SQL запрос к БД,

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

Компонент Query: TDataSet очень похож на компонент Table.

Он также представляет данные в виде таблицы, колонки которой описываются компонентами TField.

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

Отличается от компонента Table:

• нет идентификации таблицы свойства TableName (делается через SQL -запрос),

• не содержит методов управления файлами, т.к. SQL -запрос обращается к таблицам сам,

• нет смысла индексировать (делается в SQL -запросе),

• нет механизма связи Master – Detail (делается в SQL -запросе).

SQL -запрос можно отладить в:

• В программе SQL Explorer на вкладке Enter SQL,

• В программе Database Desktop составить QBE -запрос и текст запроса посмотреть в окне SQL Editor, выполнив команду Query/Show SQL,

• В построителе запросов SQL Builder, вызываемом из контекстного меню компонента Query.

Инициализация запроса:

• В свойстве SQL компонента Query записать текст запроса и присвоить свойству Active = True.

При выполнении программы в таблице будет информация, соответствующая SQL -запросу.

• Но лучше это осуществлять программно, используя метод Open для компонента Query при создании формы.

Виды SQL – запросов:

Статический – запрос включается в исходный код программы на этапе разработки и в процессе выполнения приложения не меняется.

Динамический – формируется или изменяется при выполнении приложения.

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


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



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