Смекни!
smekni.com

Учет посещаемости в рабочее время (стр. 8 из 10)

- QRTable – надпись, содержащая текст;

- QRDBText – значение поля записи, обычно размещается в полосе данных;

- QRExpr – значение, формируемое на основе выражения, в котором могут использоваться значение полей записей;

- QRSysData – системная информация, обычно используемая для итоговых полос и полос колонтитулов;

- QRImage – графический обзор(например, логотип организации);

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

Возможность автоматического изменения размеров содержащего текст компонента по размеру текста управляет свойство AutoSize. По умолчанию размер текстового компонента автоматически подстраивается под содержащийся в нем текст, так как свойство AutoSize имеет значение True. Если компоненты отчета, в первую очередь элементы полосы данных, имеют рамку, то размеры этих компонентов должны быть постоянными.

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

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

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

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

Компонент QRExpr позволяет вставлять в отчет значение выражения, рассчитываемого обычно с участием различных полей записей. Выражение заносится в свойство Expression типа String. Использование компонента QRExpr аналогично использованию вычисляемых полей набора данных. Однако при просмотре отчета на этапе разработки значения компонентов QRExpr выводятся, в то время как значение выделяемы полей не определяются.

Итоговая полоса отчета выводится один раз в конце отчета сразу после полосы данных. В этой полосе обычно стоят либо итоговые сведения отчета, например, среднее и максимальное значения по данным какого-либо поля. В итоговой полосе обычно размещается компонент QRLabel для вывода записей и QRExpr для вывода значения выражения.

Можно выделить следующие виды отчетов.

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

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

Выводимые в отчете данные можно группировать по определённому признаку. Для группирования записей отчета по определенному полю в наборе данных должен быть установлен текущий индекс, построенный по этому полю. Если индексу не задан или установлен по другому полю, то ошибок компиляции не возникает, то группирование записей выполняется неправильно. Можно группировать данные, находящиеся в одном наборе данных, или данные из связанных наборов данных.

В отчете с группирование данных вместо полосы Detail нужно использовать комбинацию полос:

1) QRGroup – название Group Header;

2) QRBand – полоса даны, название Detail;

3) QRBand – полоса нижнего колонтитула группы, название Group Footer.

Эти полосы должны располагаться в указанном порядке. Если группа не имеет нижнего колонтитула, то значение этого свойства можно не задавать. Остальные полосы отчета с группирование данных создаётся и используется так же, как в обычном простом отчете.

На практике наборы данных чаще всего связываются отношением «главный-подчиненный» способом. Такой отчет содержит:

- Заголовок отчета;

- Заголовки столбцов;

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

- Области детализации – устанавливается подчиненный набор данных. В ней обычно располагаются компоненты QRDBText и QRExpr, с помощью которых выводятся значения полей записей подчиненного набора данных;

- Нижний колонтитул страницы.

Составной отчет объединяет в себе несколько отчетов и представлен компонентом QRCompositeReport, который можно разместить на любой форме. На начальном этапе составной отчет не содержит ни одного отчета. Для добавления к составному отчету нового отчета используется событие OnAddReport, при этом добавляемые отчеты должны быть предварительно подготовлены. Свойство Reports составного отчета содержит список отчетов. Новые отчеты добавляются к этому списку методом Add.[5]

3.5 Создание запросов на языке SQL

При писании программного продукта для выбора студентов из базы данных по определенным критериям использовался язык запросов SQL, так как этот язык используется Delphi и Access.

SQL символизирует собой Структурированный Язык Запросов. Это - язык, который дает возможность создавать и работать в реляционных базах данных, являющихся наборами связанной информации, сохраняемой в таблицах.

Информационное пространство становится более унифицированным. Это привело к необходимости создания стандартного языка, который мог бы использоваться в большом количестве различных видов компьютерных сред. Стандартный язык позволит пользователям, знающим один набор команд, использовать их для создания, нахождения, изменения и передачи информации - независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ. В нашем все более и более взаимосвязанном компьютерном мире, пользователь снабженный таким языком, имеет огромное преимущество в использовании и обобщении информации из ряда источников с помощью большого количества способов. Элегантность и независимость от специфики компьютерных технологий, а также его поддержка лидерами промышленности в области технологии реляционных баз данных, сделало SQL (и, вероятно, в течение обозримого будущего оставит его) основным стандартным языком.[2]

Язык SQL предназначен для манипулирования данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде. Поэтому, в язык SQL в качестве составных частей входят:

- язык манипулирования данными (Data Manipulation Language, DML);

- языкопределенияданных (Data Definition Language, DDL);

- язык управления данными (Data Control Language, DCL).

Это не отдельные языки, а различные команды одного языка. Такое деление проведено только лишь с точки зрения различного функционального назначения этих команд.

Язык манипулирования данными используется, как это следует из его названия, для манипулирования данными в таблицах баз данных. Он состоит из 4 основных команд:

SELECT (выбрать)

INSERT (вставить)

UPDATE (обновить)

DELETE(удалить)

Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются:

CREATE DATABASE (создать базу данных);

CREATE TABLE (создать таблицу);

ALTER DATABASE (модифицировать базу данных);

ALTER TABLE (модифицировать таблицу);

DROP DATABASE (удалить базу данных);

DROP TABLE (удалить таблицу);

DROP INDEX (удалить индекс);

DROP PROCEDURE (удалить сохраненную процедуру).

Язык управления данными используется для управления правами доступа к данным и выполнением процедур в многопользовательской среде. Более точно его можно назвать “язык управления доступом”. Он состоит из двух основных команд: GRANT (дать права), REVOKE (забрать права)

С точки зрения прикладного интерфейса существуют две разновидности команд SQL:

- интерактивный SQL;

- встроенный SQL.

Интерактивный SQL используется в специальных утилитах (типа WISQL или DBD), позволяющих в интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на сервер и получать результаты в предназначенном для этого окне.

Встроенный SQL используется в прикладных программах, позволяя им посылать запросы к серверу и обрабатывать полученные результаты, в том числе комбинируя set-ориентированный и record-ориентированный подходы.

Наиболее важной командой языка манипулирования данными является команда SELECT. Операция выборки позволяет получить все строки (записи) либо часть строк одной таблицы.

К логическим операторам относятся известные операторы AND, OR, NOT, позволяющие выполнять различные логические действия: логическое умножение (AND, “пересечение условий”), логическое сложение (OR, “объединение условий”), логическое отрицание (NOT, “отрицание условий”). В наших примерах мы уже применяли оператор AND. Использование этих операторов позволяет гибко “настроить” условия отбора записей. Оператор AND означает, что общий предикат будет истинным только тогда, когда условия, связанные по “AND”, будут истинны.

Оператор OR означает, что общий предикат будет истинным, когда хотя бы одно из условий, связанных по “OR”, будет истинным. Оператор NOT означает, что общий предикат будет истинным, когда условие, перед которым стоит этот оператор, будет ложным. В одном предикате логические операторы выполняются в следующем порядке: сначала выполняется оператор NOT, затем - AND и только после этого - оператор OR. Для изменения порядка выполнения операторов разрешается использовать скобки.