КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Создание многоуровневых приложений
Отчёты в C++ Builder Существует несколько компонент для создания отчётов в C++ Builder. Наиболее простым в использовании является компонент QReport (Quick Report), который расположен на одноимённой вкладке (QReport – расположены все компоненты для работы с данным видом отчётов). Чтобы создать отчёт необходимо: 1. Создать форму. 2. Расположить на ней источник данных, который потребуется в отчёте. 3. Расположить на ней элемент QReport и подключить его к источнику данных. Для этого необходимо прописать соответствующие include директивы в заголовочном файле формы с отчётом. Чтобы программно показать отчёт, нужно выполнить следующую команду: Form->QuickReport1->Preview(); Для формирования отчёта необходимо на нём расположить полосы QRBand. Её тип по умолчанию (свойство BandType) – Title – заголовочная область отчёта. Для того чтобы сформировать другие области отчёта, необходимо расположить соответствующее количество полос и изменить их тип в соответствии с типом данных. · Title – заголовок отчёта. · Detail – данные отчёта. · GroupFooter – примечание группы. · Summary – примечания отчёта. · SubDetail – внутренняя группировка. Для формирования отчёта на полосу Detail располагается компонент DBText, у которого устанавливается свойство DataSet (таблица или запрос, на основании которого строится отчёт), DataField (поле, которое будет отображаться в этом элементе). Для создания вычисляемых полей используется компонент QRExpress, у которого устанавливается свойство Expression. Чтобы данные в отчёте изменялись при изменении информации в БД, нужно каждый раз при загрузке отчёта перезагружать данные в его источнике (ADOTable или ADOQuery): AdoTable->Open(); … AdoTable->Close(); Для группировки данных в отчёте используется элемент QRGroup. Приложение клиент-сервер в отношении баз данных выглядит следующим образом:
Сервер приложения предназначен для создания и работы обрабатывающих программ. Сервер БД – это программа, которая занимается хранением, автоматизацией поиска и формированием ответов на запросы для клиентской программы. Всё программное подключение, рассмотренное выше, разбивается на 2 части: серверную и клиентскую. Существует 2 варианта их взаимодействия: 1. С подключенной БД; 2. С отключенной БД. Для создания серверного приложения необходимо: 1. Добавить в проект компонент Remote Data Module (File → New → Other, вкладка Multitier). 2. Добавляются стандартные компоненты, как в однопользовательском приложении (ADOConnection, ADOTable). 3. В этот модуль добавить компонент DataSetProvider с вкладки DataAccess, который поставляет данные клиентским приложениям (на каждый ADOTable). Сервер должен быть зарегистрирован на компьютере. Для этого надо в меню Run → Parameters в поле Parameters ввести /regserver. 4. Создать новое, клиентское приложение. a. Добавить DataModule b. На вкладке DataSnap добавить DCOMConnection, который устанавливает связь с любым сервером приложений, зарегистрированным по технологии COM на данном компьютере. Свойство ServerName – имя сервера для связи, Server GUID – № зарегистрированного сервера на компьютере. c. Чтобы добраться до нужных данных, надо с вкладки DataAccess добавить компонент Client DataSet. i. Свойство Remote Server – выбрать Connection. ii. Свойство Provider Name – имя провайдера, который находится на сервере – таблица. iii. Для записи изменений в БД: Чтобы изменить тип доступа (через Интернет, удалённый доступ), вместо DCOMConnection надо использовать SocketConnection из той же вкладки. Файл с сервером сохраняется в Borland/Builder/bin/scklsrvr.exe. В результате появится иконка Borland Socket Server, которая позволяет создать доступ к серверу. Она запускается на сервере 1 раз. Недостаток Socket Connection – отсутствие возможности кодирования, а основное преимущество – высокая скорость. Чтобы устранить этот недостаток, надо использовать компонент Web Connection, у которого можно указать свойство URL-адрес – localhost. В момент передачи можно запустить процедуру обработки, которая зашифрует текст и передаст его.
Data Adapter является средством связи между Dataset и Connection. С Dataset он связан посредством команд Fill – загрузить данные, Update – записать изменения. В момент записи создаётся список ошибок (Error Collection). Data Adapter работает с Connection с помощью реляционного метода. Команды взаимодействия с БД (Command) можно создавать как вручную, так и автоматически. Для подключения к своему проекту БД необходимо: 1. Добавить к своему проекту компонент DataSet. 2. Связать его с помощью мастера с созданной ранее БД. Если все шаги были проделаны верно, то в этом компоненте должна появиться схема данных. 3. На форму из вкладки Data панели Toolbox добавить компоненты: Dataset, BindingSource, DataGrid, BindingNavigator (два последних являются визуальными компонентами). a. При добавлении Dataset в мастере необходимо выбрать пункт Types Dataset, недавно созданный прототип Dataset’а. b. В элементе BindingSource необходимо выбрать в свойстве Data Source именно тот Dataset, который расположен на одной форме с этим компонентом. В поле DataMember нужно выбрать имя таблицы, связанной с этим компонентом. Если всё сделано верно, то в списке невидимых компонентов должен появиться TableAdapter. c. В DataGrid нужно свойство Data Source установить BindingSource (появятся заголовки столбцов таблицы). В компоненте BindingNavigator необходимо установить свойство BindingSource на соответствующий компонент формы. Элемент TableAdapter предназначен для заполнения dataset формы с помощью команды Fill, а также для сохранения этого набора данных в БД (команда TablAdapter.Update(dataset1)). Кроме того с помощью этого компонента можно создавать команды для добавления записей (TablAdapter.Insert(…)) и их удаления (TablAdapter.Delete(…)). Все операции над записями в программе происходят через BindingSource: 1. Сортировка: BindingSource.Sort =”Поле таблицы” asc/desc – по возрастанию/убыванию. 2. Фильтрация: BindingSource.Filter = “Условие фильтра”. 3. Получение текущей записи: 4. Перемещение по записям: BindingSource.MoveNext, … 5. Сохранить данные в БД: Для создания поля со списком в DataGrid необходимо зайти в режим мастера редактирования колонок (Edit Columns). Затем добавить новое, несвязанное поле, тип – поле со списком. Указать свойства на вкладке Data (у компонента ComboBox): DataProperty Name – поле, содержащее значение в основной таблице, куда будет производиться запись, Data Source – это BindingSource, из которого данные будут выводится на экран, Display Member – поле из Data Source, которое будет отображаться на экране,Value Member – ключевое поле из DataSet, которое записывается в Data Property Name.
Дата добавления: 2014-01-07; Просмотров: 549; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |