Студопедия

КАТЕГОРИИ:


Архитектура-(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. Для записи изменений в БД:
ClientDataSet->ApplyUpdates(количество ошибок);

Чтобы изменить тип доступа (через Интернет, удалённый доступ), вместо DCOMConnection надо использовать SocketConnection из той же вкладки. Файл с сервером сохраняется в Borland/Builder/bin/scklsrvr.exe. В результате появится иконка Borland Socket Server, которая позволяет создать доступ к серверу. Она запускается на сервере 1 раз.

Недостаток Socket Connection – отсутствие возможности кодирования, а основное преимущество – высокая скорость. Чтобы устранить этот недостаток, надо использовать компонент Web Connection, у которого можно указать свойство URL-адрес – localhost. В момент передачи можно запустить процедуру обработки, которая зашифрует текст и передаст его.

Fill
Доступ к данным в C# (Visual Studio 2005)

Update
Data Adapter
Dataset
Connection
Data Source
 
 

 

 


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. Получение текущей записи:
DataRowView row;
row = ((DatarowView)BindingSource.Current).Row;
row.Item(“Название поля”);

4. Перемещение по записям: BindingSource.MoveNext, …

5. Сохранить данные в БД:
BindingSource.EndEdit();
tableAdapter.Update(this.DataSet);

Для создания поля со списком в DataGrid необходимо зайти в режим мастера редактирования колонок (Edit Columns). Затем добавить новое, несвязанное поле, тип – поле со списком. Указать свойства на вкладке Data (у компонента ComboBox): DataProperty Name – поле, содержащее значение в основной таблице, куда будет производиться запись, Data Source – это BindingSource, из которого данные будут выводится на экран, Display Member – поле из Data Source, которое будет отображаться на экране,Value Member – ключевое поле из DataSet, которое записывается в Data Property Name.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 549; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.