Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора базы данных.doc
Скачиваний:
13
Добавлен:
23.09.2019
Размер:
171.52 Кб
Скачать

25. Разработка печатных документов с использованием редактора отчетов.

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

Rave Report – редактор отчетов.

В основе этой технологии лежит отделение идеи разработки отчета и его использование на основе проекта отчета.

Проект отчета создается в соответствующем дизайнере TOOLS/Rave Design и сохраняется в файле *.rav (рис. 12).

Для связывания приложения и отчета используется компонент ТRvProject, в свойстве которого ProjectFile указывается имя файла проекта.

Компоненты TRvDataSetConnection, TRvTableConnection, TRvQueryConnection, TRvCustomConnection используются для связывания отчета с набором данных.

Проект отчета

Содержит:

1) библиотеку отчетов;

2) каталог глобальных страниц, т.е. страницы, доступные из любого отчета;

3) каталог объектов данных. Возможно соединение с набором данных, созданным в приложении (Direct Data View) либо непосредственное соединение с источником данных (Database Connection, Driver Data View).

Простой отчет – распечатка данных одного набора данных.

Пункт меню TOOLS / Simple Table – формирование одиночного отчета в виде таблицы.

Отчет «главный - детальный»

Группирующий отчет

  1. Разработка приложения баз данных в Delphi. Использование компонентов InterBase eXpress (ibx): tibStoredProc, tibsql, динамическое формирование запросов sql.

Использование хранимых процедур в приложении

Цель работы: изучение компонентов TIBDataSet, TIBStoredProc, TIBSQL, динамическое формирование запросов SQL.

Теоретическая часть

TIBDataSet – предназначен для получения и редактирования данных, является потомком стандартного класса TDataSet и полностью совместим со всеми визуальными компонентами. Основные методы: Prepare, Open, Close, Insert, Append, Edit, Delete, Refresh.

TIBStoredProc – предназначен для выполнения хранимых процедур и получения набора данных на основе результатов выполнения процедуры. Получаемый набор данных является нередактируемым. Компонент совместим с визуальными компонентами. Основное свойство – StoredProcName. Основной метод – ЕхесРгос.

TIBSQL – предназначен для выполнения SQL-запросов. В отличие от TIBQuery или TIBDataSet TIBSQL не имеет локального буфера для набора данных и несовместим с визуальными компонентами. Основной метод – ExecQuery. Основное свойство – SQL- текст запроса.

  1. Разработка приложения баз данных в Delphi. Использование компонентов InterBase eXpress (ibx): tibDatabase. Создание модифицируемых наборов данных, механизм master-detail.

Механизм master-detail

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

IBDataProf: TIBDataSet; 

SourceProf: TdataSource

и

IBDataStud: TIBDataSet; 

SourceStud: TdataSource; 

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

Для этого, во-первых, нужно задать свойство IBDataStud.DataSource=SourceProf.

Во-вторых, надо изменить IBDataStud. SelectSQL:

select ID, F, I, O, SPROF from STUD where SPROF=:ID.

Значение параметра :ID будет автоматически браться из одноименного поля IBDataProf.ID.

Свойства

Database и Transaction связывают набор данных с базой данных и транзакцией.

SelectSQL – задает запрос Select , формирующий набор данных.

ModifySQL – задает запрос UPDATE, который выполняется при внесении изменений в наборе данных, и только после этого изменения, сделанного пользователем, окажутся в базе данных.

InsertSQL и DeleteSQL – задают запросы, которые выполняются при установке новой записи и удалении записи пользователем.

Обратите внимание, префикс OLD_ в названии параметра означает, что IBDataSet должен подставить в параметр значение поля до изменения пользователем. После выполнения любого модифицирующего действия IBDataSet выполнит запрос, указанный в свойстве RefreshSQL. Этот запрос должен возвращать только одну запись – текущую и нужен для обновления значений полей текущей записи после сделанных исправлений.

IBX предоставляет нам возможность быстро сгенерировать необходимые модифицирующие запросы при помощи редактора IBDataSet. Выбрав из списка Table Name нашу таблицу и нажав кнопку Get Table Fields, мы сформируем списки Key Fields и Update Fields.

В списке Key Fields нужно выделить те поля, которые будут формировать условие WHERE в наших запросах. Очевидно, что это должны быть поля, которые определяют первичный ключ у таблицы. Остается нажать кнопку Generate SQL, чтобы получить все запросы flnsertSQL, ModifySQL, DeleteSQL и RefreshSQL.

Обратите внимание, префикс OLD_ в названии параметра означает, что IBDataSet должен подставить в параметр значение поля до изменения пользователем.

22.Разработка приложения баз данных в Delphi. Использование компонентов InterBase eXpress (IBX): TIBDatabase, TIBTransaction, TIBDataSet. Компоненты для доступа и отображения данных: TDataSource, TDBGrid.

InterBase Express – это компоненты для работы с базами данных InterBase, которые используют прямое InterBase API, т.е. обращаются к серверу непосредственно, без каких-то промежуточных (middle-ware) средств.

Фактически, если разрабатывать приложения баз данных с использованием IBX, то для работы таких приложений нужно лишь наличие GDS32.DLL на диске в доступном месте.

Компоненты

  TIBDatabase – предназначен для подключения к базе данных. Основные методы: Open, Close.

TIBTransaction – предназначен для явного управления транзакцией. Основные методы: StartTransaction, Commit, Rollback, CommitRetaining, RollbackRetaining.

Основным является свойство Params, в котором можно указать уровень изоляции транзакции. TIBTransaction ссылается на компонент базы данных при помощи свойства DefaultDatabase. Если указать также свойство DefaultTransaction у TIBDatabase, то в дальнейшем любые компоненты (TIBDataSet, TIBSQL и т.д.), которые ссылаются на TIBDatabase, будут автоматически «подхватывать» и указанную транзакцию.

TIBDataSet – предназначен для получения и редактирования данных, является потомком стандартного класса TDataSet и полностью совместим со всеми визуальными компонентами. Основные методы: Prepare, Open, Close, Insert, Append, Edit, Delete, Refresh.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]