Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 91
Текст из файла (страница 91)
. . ( Ф а й л / Н о в ы й / Д р у г о й ) Хранилище объектов и выбрав настранице F o r m s ( Ф о р м ы ) объект Q u i c k R e p o r t L i s t ( Л и с т о т ч е т а ) . Шаблонэтого отчета содержит полосы заголовка отчета, заголовков столбцов и данных, нижний колонтитул и расположен на отдельной форме Q R L i s t F o r m . Наформе отчета также расположен набор данных T a b l e .Заголовок отчета выводится один раз на первой странице сразу под верхним колонтитулом, если он есть. В полосе заголовка обычно размещаютсянадписи Q R L a b e l , содержащие требуемый текст (как правило, в качествезаголовка выводится название всего отчета).
При необходимости в заголовке можно разместить, например, сведения о названии, адресе и телефонеорганизации, а также логотип. В приведенном на рис. 11.23 примере в полосе заголовка находятся название отчета. Д л я вывода названия отчета используется компонент Q R I a b e l , в котором набран текст К н и г и п о п р о г р а м м и рованию.Часть 3. Современные СУБД и их применение430Полосы заголовков столбцов и данных являются основными полосами, вкоторых размещаются компоненты, обеспечивающие табличный вывод содержимого набора данных.
Заголовки столбцов выводятся на каждом листе отчета.Для заголовков столбцов данных в полосу заголовков обычно помещаются компоненты QRIabel, в которые заносится текст, соответствующий полям данных.Д л я вывода значений полей записей в полосу данных обычно помещаютсякомпоненты Q R D B T e x t и Q R E x p r . Более простым является использованиекомпонентов Q R D B T e x t , каждый из которых отображает значение связанного с ним поля. И м я набора данных указывается в свойстве DataSet, а имя полязадается в свойстве D a t a F i l e l d . Д л я наглядности схематично состав простогоотчета и его связи с набором данных приведены на рис.
11.24.ОтчетПолоса колонтитулаПолоса заголовкаПолоса заголовков столбцовQRLabeMQRLabel2QRLabeINDataSetПолоса области данныхDataSetQRDBTeKtlQRDBText2 .. . QRDBTextNНабор данных(Table!)DataFieldПолоса итога отчетаПолоса нижнего колонтитулаРис. 11.24. Состав простого отчета и его связи с набором данныхНа этапе разработки в отчете присутствует только одна полоса данных, нопри формировании отчета отдельная полоса данных будет выведена для каждой записи отчета. Напомним, что если набор данных является пустым и несодержит записей, то область данных не выводится. Чтобы для пустого набораданных были выведены остальные полосы (кроме полос данных), свойствуP r i n t l f E m p t y компонента Q u i c k R e p устанавливается значение true (по умолчанию).Компонент Q R E x p r позволяет вставлять в отчет значение выражения, рассчитываемого обычно с участием различных полей записей.
Выражение заносится в свойство E x p r e s s i o n типа S t r i n g , для формирования которого удоб-/ I. Borland С++ Builder431но использовать окно E x p r e s s i o n W i z a r d ( М а с т е р в ы р а ж е н и й ) , вызываемоечерез Инспектор объектов.Для вставки в выражение имени поля нужно нажать кнопку D a t a b a s e F i e l d(Поле Б Д ) и в открывшемся окне выбрать набор данных и имя поля.В выражении можно использовать функции, которые разбиты по категориям и в ы б и р а ю т с я в специальном окне, в ы з ы в а е м о м нажатием к н о п к иFunction(Функция).Названия полей и ф у н к ц и й можно набирать и вручную, однако это увеличивает вероятность ошибки.Чтобы п р о т е с т и р о в а т ь введенное выражение, следует нажать кнопкуValidate, при этом выполняется проверка выражения, а разработчику выдается сообщение о корректности выражения или об ошибке.В выражении можно использовать только поля наборов данных, которыеразмещены на форме отчета.
В противном случае набор данных оказываетсянедоступен для компонента QRExpr.При разработке п р и л о ж е н и я такие к о м п о н е н т ы отчета, как Q R I a b e l ,Q R D B T e x t и Q R E x p r , имеют одинаковый внешний вид.Итоговая полоса отчета выводится один раз в конце отчета сразу послеполосы данных. В этой полосе обычно стоят либо итоговые сведения отчета,например, средние и максимальные значения по данным какого-либо поля,либо должность и ф а м и л и я лица, утверждающего отчет. В итоговой полосеобычно размещаются компоненты Q R I a b e l для вывода надписей и Q R E x p rдля вывода значений выражений.Отметим, в качестве итога может выводиться, к примеру, число записей втаблице или заверительная подпись.Колонтитулы печатаются в начале и конце каждой страницы, в них обычно выводятся сведения о дате, времени печати, а также номер страницы.
Д л яэтого в полосах к о л о н т и т у л о в чаще всего размещаются компонентыQ R S y s D a t a , которым устанавливается требуемое значение свойства D a t a .В полосе колонтитула можно также разместить и другие компоненты, например, QRLabel для вывода на каждой странице названия организации.Контрольныевопросыизадания1. Приведите схему взаимосвязей файла проекта при разработке приложения?2. Какие файлы входят в состав модуля формы и каково их назначение?3. Охарактеризуйте основные элементы, составляющие интерфейс системы С++ Builder.4. Каково назначение окон Инспектора объектов и Редактора кода?5. Какие элементы входят в состав проекта?6. Что содержит файл представления формы?432Часть 3. Современные СУБД и их применение7.
Каким образом определяется функциональность приложения?8. Разработайте обработчик события нажатия кнопки.9. В чем отличие действия команд Run, Make и Build?10. Охарактеризуйте процесс создания пользовательского интерфейса приложения.11. Как создается обработчик события для компонента?12. Какие механизмы доступа к данным поддерживаются в одно- и двухуровневых приложениях, разрабатываемых средствами системы С++Builder?13.
Охарактеризуйте таблицы, образующие базу данных.14. Укажите различия в построении индексов в таблицах Paradox и dBase?15. Охарактеризуйте способы доступа к данным.16. Что представляет собой связывание таблиц и для чего оно организуется?17. Изобразите схему связи между таблицами базы данных Paradox.18. Охарактеризуйте формат таблиц dBase и Paradox.19.
Каково назначение инструментальных средств системы С++ Builder поработе с базами данных.20. Назовите основные страницы Палитры компонентов, на которых расположены компоненты, используемые при создании приложений длябаз данных.21. Каково назначение компонентов, расположенных на странице QReport?22. Какие классы исключений используются для операций, связанных сработой приложений для баз данных?23. Какие события для обработки исключений имеются у набора данныхTable?24.
Каково назначение и возможности программы Database Desktop?25. Какие действия выполняются при определении структуры таблицы?26. Выполните создание таблицы с помощью программы Database Desktopс назначением полей 5 различных типов.27. Каким образом назначается тип поля в таблице?28. Каким образом выполняется задание индекса в таблице?29. Выполните изменение индекса в имеющейся таблице.30.
Назовите возможные варианты ограничений на значения полей.31. Поясните, в чем проявляется понятие ссылочной целостности.32. Каким образом можно выполнить изменение структуры таблицы?33. Назовите компоненты, используемые при создании приложения длябазы данных.34.
Для чего предназначен компонент DataSource?35. Какую роль в приложении играет компонент DBGrid?36. Какие действия в приложении для базы данных позволяет выполнятькомпонент DBNavigator?/ I. Borland С++ Builder43337. Изобразите схему, поясняющую взаимосвязь компонентов приложения для базы данных и таблицы.38. Какие компоненты используются при подготовке отчета?39. Осуществляется связывание отчета с набором данных?40. Какие полосы могут входить в состав отчета?41. Какие события генерируются при печати отчета?42. Укажите действия, выполняемые при создании простого отчета.43.
Изобразите схему, поясняющую состав простого отчета и его взаимосвязи с набором данных.Литература1. Программирование на С++: Учебное пособие/В. П. Аверкин, А. И. Бобровский,В. В. Веснич, В. Ф. Радушинский, А. Д. Хомоненоко; Под ред. проф. А. Д. Хомоненко. - СПб.: КОРОНА принт, 2003.2. Архангельский А. Я. Программирование в С++ Builder 6. — М.: ЗАО «Издательство БИНОМ», 2002.3. Хомоненко А. Д., Ададуров С.
Е. Работа с базами данных в С++ Builder. - СПб.:БХВ-Петербург, 2006.434Часть 3. Современные СУБД и их применение12. СУБД Visual FoxPro 8.0Visual FoxPro 8.0 представляет собой СУБД реляционного типа с развитыми средствами создания БД, организации запросов к ним, построения приложений с использованием визуального, объектно-ориентированного программирования. СУБД Visual FoxPro 8.0 может работать в среде Windows 98/М Е/ХР/2000.12.1. Общая характеристикаВ Visual FoxPro реализованы все атрибуты реляционной СУБД.