- •Базы данных
- •1. Введение в базы данных
- •1.1. Базы данных и информационные системы
- •1.2. Архигсюура информационной системы
- •1.3. Системы управления базами данных
- •1.4. Локальные информационные системы
- •1.5. Способы разработки и выполнения приложений
- •1.6. Схема обмена данными при работе с бд
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •Сотоудники
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Постреляционная модель
- •2.5. Многомерная модель
- •1996 1994 Петров Смирнов Яковлев
- •2.6. Объектно-ориентированная модель
- •2.7. Типы данных
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Индексирование
- •3.3. Связывание таблиц
- •3.4. Контроль целостности связей
- •3.5. Теоретические языки запросов
- •I аспределенное Удаленное Распределен- Удаленн! 1йдо- Распределен- предстаеление представление ная функция ступ к данным наяЬд
- •4.5. Информационные системы в Интернете и интранете
- •Часть 2. I Ъоектиросанн ? и использование бд
- •7. Средства автоматизации проектирования
- •7.1. Основные определения
- •7.8. Рекомендации по применению case-систем
- •9. Дополнительные вопросы применения баз данных
- •9.1. Программно-аппаратные платформы
- •9.2. Перспективы развития субд
- •9.3. Стандартизация баз данных
- •9.4. Характеристика технологии ado.Net
- •10.1. Общая характеристика
- •10.2. Новые возможности Microsoft Access 2002
- •10.3.Средства поддержки проектирования
- •10.4. Создание основных элементов бд
- •IQdbl mdb
- •Option Compare Database Public Function funl() beep End Function
- •10.5. Работа с гиперссылками
- •10.6. Использование языка sql
- •Аргументы макрокоманды ' Инструкция sQl. Select distinctrow tof
- •10.7. Защита баз данных
- •10.9. Обслуживание баз данный
- •10.10. Репликация баз данных
- •Реплицируемые объекты
- •Реплицируемые объекты
- •10.11. Работа с мультимедиа-данными
- •Тип объекта
- •Comic Chat Boom Microsoft Graph so Music Prop pry Page 2 1 Option f ropery Page21 Ры-ndox FableВидео-клип
- •10.12. Создание файлов приложений
- •10.13. Страницы доступа к данным
- •Краткая характеристика отличий сДд от форм и отчетом
- •10.14. Разработка проекта
- •Распределение атрибутов по вариантам
- •11.1. Пользовательский интерфейс
- •11.2. Характеристика проекта
- •11.3. Компиляция и выполнение проекта
- •11.4. Разработка приложения
- •11.5. Средства интегрированной среды разработки
- •Управление параметрами среды
- •11.6. Базы данных и средства работы с ними
- •Компоненты приложений для баз данных
- •11.7. Создание таблиц базы данных
- •11.8. Создание приложения bde
- •Значения свойств компонентов
- •11.9. Работа с отчетами
- •12. Субд Visual FoxPro 8.0
- •12.1. Общая характеристика
- •12.2. Новые возможности Visual FoxPro 8.0
- •12.3. Элементы проекта
- •12.4. Интерфейс Visual FoxPro
- •12.5. Средства автоматизации разработки
- •12.6. Создание баз данных
- •12.7. Таблицы и индексы
- •12.8. Организация межтабличных связей
- •12.9. Обеспечение ссылочной целостности
- •12.10. Создание запросов
- •Variables:
- •13. Microsoft sql Server 2000
- •13.1. Характеристика sql Server
- •13.2. Язык запросов Transact-sql
- •13.3. Системные базы данных и таблицы
- •13.4. Создание баз данных
- •13.5. Работа с таблицами
- •15.1. Принципы функционирования Web-приложений
- •15.2. Архитектура Web-приложений, публикующих бд
- •15.3. Обзор Web-серверов
- •15.4. Использование Personal Web-server
- •15.5. Использование Microsoft Internet Information Server
- •15.6. Использование Apache дляMicrosoft Windows 9х/2000
- •Вы видите это вместо ожидаемой страницы?
- •15.7. Варианты создания Web-узла
- •16. Интерфейсы программирования Web-приложений
- •16.1. Общий интерфейс взаимодействия cgi
- •18. Публикация бд средствами Microsoft Access
- •18.1. Характеристика вариантов публикации
Значения свойств компонентов
Компонент |
Свойства |
Значения |
Table 1 |
DataBaseName |
dbdemos |
|
TableName |
Animals dbf |
|
Active |
true |
DataSourcel |
DataSet |
Tablel |
DBGridl |
DataSource |
DataSourcel |
DBNavigatorl |
DataSource |
DataSourcel |
Д тя автоматизации процесса создания формы, использующей компонен ты для операций с БД, можно вызвать Database Form Wizard (Мастер форм баз данных). Этот Мастер расположен на странице Business Хранилища объектов.
Мастер позволяет создавать формы для паботы с отдельной таблицей и со связанными таблицами, при этом можно использовать наборы данных Table или Query
11.9. Работа с отчетами
Отчет представляет собой печатный документ, в котором содержит такие же данные, как получаемые в результате выполнения запроса к БД. Можно выделить с ледующие виды отчетов: простой; с группирован] [ем данных; для таблиц, связанных отношением «главный-подчиненный»; составной, объединяющий несколько разных отчетов. В С++ Builder для создания отчетов служит генератор отчетов Quick Report, сод( ржащий большой набор компонентов. Мы рассмотрим спедетва создания отчета и приведем пример создания простого отчета.
Компоненты отчета
Компоненты, предназначенные для создания отчетов, находятс я на странице QReport Палитры компонентов. Болыпинст во компонентов отчета являются визуальными. Многие из них мало отличаются от аналогичных компонентов страниц Standard, Additional и Data Controls. Например, компоненту QRImage соответствуют компоненты Image и DBImage.
Главным элементом отчета является компонент-отчет QuickRep, представляющий собой основу, на которой размещаются другие компоненты. Компонент QuickRep обычно размещается на отдельной фирме, предназначенной ддя создания от чета. По умолчанию он имеет имя QuickRepl. Если на форме размещается другой отчет (обычно так не делается), он получает имя QuickRep2 и т. д.
Компонент QuickRep при помещении его на форму имеет вид страницы формата А4, первоначально отображаемой в натуральную величину. При раз рабогке приложения можно изменить масштаб страницы и размещенных на ней компонентов с помощью свойства Zoom типа int. Значение этого свойства останавливает ся в процентах, по умолчание 100%.
Отчет можно поместить на любую форму приложения, например, на главную. В этом случае отчет (страница) создает < зоего рода фон. на котором расположены уппавляющие элементы формы.
Компонент QuickRep связывается с набором данных Table или Query, для которого создается отчет, с помощью свойств; DataSet. 1 [ри этом набоо дан ных Query может содержать записи, выбранные из разных таблиц. При печати отчета в процессе выполнения приложения набор данных должен быть открыт. Во время построения отчета можно испо. [ьзовать специально создаваемый набор данных и размещать его на форме, при этом источник данных DataSoi iree не требуется. На практике компонент QuickRep обычно связывается с набо ром данных, записи которого отображаются на форме в визуальных компонентах. В этом случае в отчет попадают записи, удовлетворяющие, например, критерию фильтрации и/или сортировки, задаваемому пользователем.
Пример. Связывание отчета с набором данных.
void fastcall TForm2::Form( ;reate(TObject *Sender)
{
QuickRepl->DataSet=Forml->Tablel;
}
Отчет QuickRepl, находящийся на форме Form2, при обработке события OnCreate этой формы (зязыва< тся с набором данных Table 1, расположенным на форме Form 1. В файле реализации (исходного кода) модуля ф( фмы Form2 следует поместить директиву препроцессора #include «Unitl .h» для подключения заголовочного Файла модуля формы Forml.
iJ
fcf. Furni2
Ы
! ' Г ' м I • , . ;
Книги
по прогоаммиоованин t
1
. !<-
Авторы
Яазванир Издательств!
l
j l -1
l
_|
г
-i
год
l
-i
"
"Titlf' f-'ubi^hingJHoiise*
■ l
l -j
Vear
l_l
г
, .
Рис.
11.23. Вид отчета при разработке
PaperSize — формат страницы (по умолчанию А4);
TopMargin, BottomMargin, LeftMaigin и RightMargin — размер верхнего, ш.жщ го, левого и правого полей, соответственно.
Единицы измерения с границ, полос, полей, а также других элементов от - чета определяет свойство Unit гипа TQRUnits, принимающее, к примеру, следующие значения:
Inches — дюймы;
ММ — миллиметры (по умолчанию);
Characters — авт оматическая настройка р соответствии с размером символов, установленным свойством QuickRcp->Fonl->Size.
При необходимости разрчоотчик может изменить параметры с границы, а также многие другие параметры отчета (например, шрифт по умолчанию) с помощью Инспектора объектов или в диалоговом окне Report Set Jug (Установки отчета) установки параметров отчета. Оно вызывается командой Report Setting контекстного меню страницы отчета или двойным щелчком на странице отчета.
Страниц? отчета может иметь рамку, параметры которой задаст свойство Fran ie типа TQRFrame.
С помощью свойства PrinterSetting типа TQuickRepPrinterSettings устанавливаются параметры принтера, например: FirstPage и LastPage — номер первой и последней печатаемой страницы. Параметры принтера можно устанавливать также с помощью стандартных диалоюв Printbialog и PrinterSetnpDialog или метода Printei Setup.
Отчет характеризуется тремя параметрами, которые задаются в свойстве Options множественного типа TQuickReportOptions:
Fii stPageHeader — печать верхнего колонтитула на первой странице отчета;
LastPageFootei — печать нижнего колонтитула на последней странице отчета;
Compression — отчет сохраняется в сжатом формате, при этом уменьшается объем занимаемой памяти, но снижается быстродействие.
Свойство PriiitlfEmpty типа bool определяет, выводить ли данные отчета для пустого набора данных. По умолчанию свойство имеет значение true, и отчет печатается, д?же если в наборе данных нет ни одной записи. Э го удобно, например, при печати бланков. Если свойству PrintlfEmpty установить значение false, то для пустого набора данных отчет не выводится, точнее, выводится пустая страница. То есть при отсутствии записей отсутствует не только область данных, но и ряд других полос, например, заго. ювок отчета.
Как правило, свойства отчета и его отдельных элементов уст?навливают ся при создании отчета на этапе разработки приложения.
Для печати отчета предназначен метод Print, сразу после вызова которого отчет подгот авливается к печати и направляется на установленный в системе принтер. Дополнительных подтверждений от пользователя не требуется. При необходимости текущий принтер и его параметры устанавливаются до начала печати, например, с помощью вызова метода PrinterSetup. Метод Print может вызываться, например, при нажатии книпки Печать, расположенной на форме, с которой пользователь работает.
Если компонент-отчет QuickRep ссязан с набором данных, записи которого выводя гея в сетке DBGrid формы, то порядок записей отчета соответст ву- ет порядку записей, видимых пользователем на форме. После отбора (фильтрации) записей и/или сортировки при нажатии кнопки Печать происходит вывод отчета, причем учитыва тся новый состав и порядок следовгния записей.
При формировании отчета изменяется положение указателя текуще й записи, поэтому при необходимости разработчик должен предусмотреть запоминание и восстановление положения указателя, например, с помощью закладки.
Пример. Процедура предварительного просмотра и печати отчета.
void fastcall TForm l::Button2Click(TObject *Sender) {
TBookmark bm; bm= Tablet->Get t5ookmark(); // Просмотр отчета Form2 >OuickRepl->Preview(); // Печать отчета Fonii2->QuickRepl->Print(); Tablel->GotoBookmark(bm): Tablel->EreelJookmark(l)m); )
Закладка bm используется для запоминания и восстановления положе ния указателя текущей записи. В файле исходного кода модуля формы Form 1, из которой выполняется печать отчета, следует указать директиву препроцессора #include "Unit2.h" для подключения заголовочного файла модуля формы Form2, в которой разме щен компонент отчета.
При печати отчета генерируются события BeforePrint и AfterPnnt типа TQRBeforePrintEvent. С помощью обработчика первого события можно задать действия, выполняемые непосредственно перед печатью отчета, а с помощью обработчика второго события — действия, выполняемые сразу после окончания печати.
В процессе выполнения приложения для предварительного просмотра отчета перед печатью служит метод Pre ■ew, вызывающий окно просмотра. В этом окне можно выполни гь следующее: просмотрев отчет в различных ма( штабах: сох] «нить отчет в файле; загрузит ь предварите пьно сохраненный отчет; напоавитъ отчет в печать.
Возможности метода Preview превосходят возможности метода Print, поэтому чаще выполняют именно предварительный просмотр документа, а не печать, что удобно и при отладке приложения. Печатать отчет можно непосредственно из окна предварительного просмотра.
На этапе разработки приложения также можно просмотреть отчет, выполнив команду Preview (Просмотр) контекстного меню отчета. Внешний вид отчета будет таким же, как при печати или в окне просмотра при выполнении приложения, за исключением отсутс7 вия значений вычисляемых полей.
Разработч1i: имеет возможность создать свое окно предварительного просмотра отчета, использовав компонент QRPreview.
Полоса птчета (компонент QRBand) является основной составной частью (элементом) отчета, на которой разм< щ-иотся другие его компоненты.
Тип полосы определяется свойством BandType типа TQRBandTypc, кото- рог может принимат ь, к примеру, следующие значения:
rbT itle - заголовок отчета (печатается в начале отчета под верхним ко лонтитулом);
rbPageHeader — верхний колонтитул, который печатает! я сверху на каждой странице, в том числе на первой, если включен (по умолчанию) параметр FirstPageFooter свойства Options компонента отчета; если этот параметр выключен, то верхний колонтитул на первом листе не печатается;
rbDetail — данные записей набора данных; выводятся цля каждой записи набора данных;
rbChild — дочерняя полоса, печатаемая после полосы, с которой он? связана.
При установке типа полосы она автоматически разм< щается на своем месте в отчете и выравнивается по ширине страницы отчета с учетом левого и правого полей. Разработчик не имеет возможности переместить полосу на друго< место с помощью мьтшм. Изменить ширину полосы можно косвенно, изменяя размеры страницы и полей. Высота полосы меняете я путем передвижения мышью верхней или нижней рамки полосы или через установку значения свойства Height в Инспекторе объектов.
Добавить новую полосу к отчету можно следующими двумя способами:
поместить компонент QRBand в отчет и присвоить т ребуемое значение свойству BandType;
установить значение true соответствующему подсвойству свойства Banas компонента QuickRep, при этом к от чету добавляется полоса, а ее свойству BandType автоматически устанавливается нужное значение.
При создании в отчет нужно включать не более одной полосы каждого вида, так как при печати отч< та «лишние» полосы одного и того же вида учитываться не будут. Полосы определенного вица, например, полоса rbDetail при формировании отчета создаются автоматически для каждой записи набора данных.
В процессе выполнения приложения при вызове метода Preview также генерируются события BeforePrint и After Print.
После создания полосы определенного гипа в ней размешаются соответствующие компоненты, при этом необходимо использовать только компоненты стюаницы QReport. Размещение на полосе других компонентов, напри мер, Label или Edit, не вызывает ошибки трансляции, но в сформированный отчет такие компоненты не попадают.
Мож! ю разместить компонент отчета и вне i юлосы — непосре, ютвенно на ком поненте-отчете QuickRep. В этом случае он будет выводиться на каждой странице от чета (например, компонент QRImage, содержащий логотип фирмы).
Обычно используются следующие компоненты отчета:
GRLabel — надпись, содержащая текст (аналог надписи Label), которая может размешаться на любой полосе, но для полос данных обычно не используется;
QHPBText — значение поля записи (аналог компонента DBText); обычно размещается в полосе данных;
QRFxpr - значение, формируемое на основе выражения, в котором мо гут использова гься значения полей записей: обычно используется для полос данных и нижних колонтитулов;
GRSysData — системная информация, обычно используемая для ит) говых полос и полос колонтитулов: ее вид определяется свойством Data типа TQRSysDataType, принимающим, к примеру, значения:
qrsCuluinnNo — номер текущего столбца (для одноколоночного отчета равен единице);
qrsDateTime — текущие дата и время;
QRImage - графический образ, загружаемый аналогично i рафическо- му образу Image (может быть использован в любой полосе, но обычно не размещается в полосах данных); с помощью компонента QRIrnape выводится, например, логотип организации; кроме того, следует отли- ча гь этот компонент и от компонента QRDBIr ладе, киторый обычно размещается в полосе данных и отображает рисунок из поля таблицы;
QRShape — геометрическая фигура, размещаемая в любой полосе.
Перед компонентом GRSysData может находиться надпись, которая указывается в свойстяе lext тина AnsiStri1 д. По умолчанию надпись отсу гствует
Простой отчет
Простой отчет представляет собой отчет на основе данных из одною набора данных и содержит сведения, которые выводятся в табличном виде без дополнительных условий, например, группирования данных. Размещение и вид печатаемых в отчете данных ана логичны размещению и виду данных, ото бражаемых в сетке DBGri j. Отличием является то. что тайные отчета размещаются не на форме, а на бумажном документе, и их нельзя редактировать.
Рассмотрим дейс гвия, выполняемые при подготовке простого отчета, на примере перечня книг по программиров шию (см. рис. 11.23). Мноше из этих действий испо. 1ьзуются и при разработке отчетоь других видов. Для создания простого отчета т ребуется выполни гь следующее:
разместить на форме компонент QuickRep:
создать для компонента Qi"OkRep требуемые полосы отчета;
разместить в полосах нужные компоненты отчета, чаще всего QRLabel. QRDBText и QRExpr;
создать для событий, например, нажатия кнопок с заголовками Печать и Просмотр, обработчики, в которых вызываются методы печати и предварительного просмот ра отчета соответ ственно.
Размещение на форме компонента от чета, установка параметров отчета, а также создание обработ чика события нажатия кнопки печати рассмотрено при описании компонента QuickRep выше.
П ростой отчет может содержать следующие полосы, перечисляемые в порядке их размещения на странице:
верхний колонтитул (rbPageHeader);
заголовок отчета (rbTitle);
заголовки столбцов (rbColumnHeader);
данные (rbDetail);
итог отчета (rbSummary);
нижний колонтитул (rhPageFooter)
На этапе разраб< тки название каждой полосы выводится серым цветом в ее левом нижнем углу.
Можно добавит ь к проекту шаблон простого отчета, вызвав командой меню File/New/Other... (Файл/Новый/Другой) Хранилище объектов и выбрав на странице Forms (Формы) объект QuiCkReport L 1st (Лист отчета). Шаблон этого отчета содержит полосы заголовка отчета, заголовкоь столбцов и данных, нижний колонти гул и расположен на отдельной форме QRListForm. На форме отчета также расположен набор данных Table.
Заголовок отчета выводится один раз на первой странице сразу под верхним колонтитулом, если он есть. В полосе заголовка обычно размещаются надписи QRLabel, содержащие требуемый текст (как правило, в качестве заголовка выводится название всего отчета). При необходимост и в заголовке можно разместить, например, сведения о названии, адресе и телефоне организации, а также логотип. В приведенном на рис. 11.23 примере в полосе заголовка находятся название отчета. Для вывода названия отчета используется компонент QRIabel, в kotodom набоан текст Книги по программированию.
Полосы заголовков столбцов и данных яв.'ьиются основными полосами, в которых размещаются компоненты, обеспечивающие табличный вывод содержимого набор? данных. Заголовки столбцов выводятся на каждом листе отчета.
Для заголовков столбцов 1анных в полосу зато, лвков о Зычно помещаются компоненты QRIabel, в которые заносится текст, соответствующий полям данных.
Для вывода значений полей записей в полосу данных обычно помещаются компоненты QRDBText и QRExpr. Более простым является использование компонентов QRDBText, каждый из которых отобража< т значение связанного с ним поля. Имя набора данга ix у казывается в свойстве DataSet. а имя поля задается в свойстве DataFileld. Для на) лядности схематично состав простого отчета и его связи с набором данных приведены на рис. 11.24.
Отчет
Полоса колонтитула
Полога заголовка
Полога заюлосков столбцов
QRLabpH |
|
QPLabel2 |
|
QRLaheIN |
DataSft
Набор
данных (Table1)
DataSet
QRDBText! QRDBTcxt2 . QRHBTextN
Dataheid
Полиса итога отчета
Полоса нижнего колонтитула
Рис. 11.24. Состаз простого отчета и его связи с набором данных
На этапе разработки в отчете присутствует только одна полоса данных, но при формировании отчета отдельная полоса данных будет выведена для каждой записи отчета. Напомним, что если набор данных является пустым и не содержит записей, то область данных не выводится. Чтобы для пустого набора данных были выведены остал! ные полосы (кроме полос данных), свойству Р ntlfEmpty компонента Qi ii skRep устанавливается значение true (по умо лча- нию).
Компонент QRExpr. гозволяет вставлять в отчет значение выпаже пия, рас- счи гываемого обычно с участием различных полей записей. Выражение заносится в свойство Expression типа String, для формирования которого удоб
но использовагь окно Expression Wizard (Мастер выражений), вызываемое через Инспектор объектов.
j [ля вставки в выражение имени поля нужно нажат ь кнопку Database Field (Поле БД) и в открывшемся окне выбрать набор данных и имя поля.
В выражении можно использовать функции, которые разбиты по категориям и выбираются в специальном окне, вызываемом нажатием кнопки Function (Функция).
Названия полей и функций можно набирать и вручную, однако это увеличивает вероят ность ошибки.
Чтобы протестировать введенное выражение, следует нажать кнопку Validate, при этом выполняется проверка выражения, а разработчику выдается сообщение о корректности выражения или об ошибке.
В выражении можно использова гь только поля наборов данных, которые размещены на форме отчета. В противном случае набор данных оказывается недоступен для компонента QRExpr.
При разработке приложения такие компоненты отчета, как QRIabel, QRDBText и QRExpr, имеют одинаковый внешний вид.
Итоговая полоса отчета зыводится один раз в конце отчета сразу после по юсы данных. В этой полосе обычно стоят либо итоговые сведения отчета, например, средние и максимальные значения по данным какого-либо поля, 1ибо должность и фами тия лица, утверждающего отчет. В итоговой полосе обычно пазмещаютсч компоненты QRIabel для вывода надписей и QRExpr для вывода значений выражений.
Ch метим, в качестве итога может выводиться, к примеру, число записей в таблице или заверительная подпись.
Колонтитулы печатаются в начале и конце каждой страницы, в них обычно выводя гея сведения о дате, времени печати, а также номер стр шицы. Для этого в полосах колонтитулов чаще всего размещаются компоненты QRSysData, которым устанавливается требуемое значение свойства Data.
В полосе колонтитула можно также разместить и другие компоненты, например, QRLabel для выьида на каж дай странице названия организации.
Контрольные вопросы и задания
Приведите схему взаимосвязей файла проекта при разработке приложе
ния?
Какие файлы входят в состав модуля формы и каково их назначение?
Охарактеризуйте осноьные элементы, состав, шющие интерфейс систе
мы С++ Builder.
Каково назначение окон Инспектора объектов и Редактора кода?
Какие элементы входя г в состав проекта?
Что содержит файл представления формы?
Каким образом определяется функциональность приложения9
Разработайте обработчик события нажатия кнопки.
В чем отличие действия команд Run, Make и Build?
Охарактеризуйте процесс создания пользова гельского интерфейса приложения.
Как создается обработчи i соОытия д дя компонен га?
Какие механизмы доступа к данным поддерживаются в одно- и двуху ■ ровневых приложениях, разрабатываемых средп вамч системы С++ Builder?
Охарактеризуйте таблицы, образующие базу данных.
1 i. Укажите различия в построении индексов в таблицах Paradox и dBase?
Охарактеризуйте способы доступа к данным.
Что предст авляет собой связывание таблиц и для чего оно организу ется?
Изобразите схему связи между таблицами базы дачных Paradox.
Охарактеризуйте формат таблиц dBase и Paradox.
19 Каково назначение инструментальных средств системы С+н Builder по работе с базами данных.
Назовите основные страницы Палитры компонентов, на которых расположены компоненты, используемые при создании приложений для баз данных.
Каково назначение компонентов, расположенных на с границе О Report?
Какие классы исключений используются д ля операций, « вязанных с работой приложений для баз данных?
23 Какие события для обработки исключений имеются у набора данных Table?
Каково назначение и возможности программы Database Desktop?
Какие действия выполняются при определении структуры таблицы?
Выполните создание таблицы с гюмощыо программы Database Desktop с назначением полей 5 различных типов.
Каким образом назначается тип поля в таблице?
Каким образом выполняется задание индекса в таблице?
Выполните изменение индекса в имеющейся таблице.
Назовите возможные варианты ограничений на значения полей.
Поясните, в чем проявляется понятие ссылочной целостности.
32 Каким образом можно выполнить изменение структуры таблицы?
Назовите компонен гы, используемые при создании приложения для базы данных.
Для чего предназначен компонент DataSource?
35 Какую роль в приложении играет компонент DBGrid?
36. Какие действия в приложении д ля базы данных позволяет выполнять компонент DBNavigator?
Изобразите схему, поясняющую взаимосвязь компонентов приложения для базы данных и таблицы.
Какие компоненты используются при подготовке отчета?
Осуществляется связывание отчета с набором данных?
Какие полосы могут входить в < остав отчета?
Какие события генерируются при печати огчета?
Укажите действия, выполняемые при создании простого отчета.
Изобразите схему, поясняющую сос гав просто! о отчета и его взаимосвязи с набором данных.
Литература
Программирование на С++- Учебное пособие/В. Г1. Аверкин, А. И. Бобровский,
В. В. Веснич, В. Ф. Радушинский, А. Д. Хомоненоко- Под ред. проф А. Д. Хомоненко. - СПб.- КОРОПЛ принт, 2003
Архангельский А. Я. Программирование в С+ + Buildei 6. — М.: ЗАО «Издатель
ство БИНОМ», 2002