Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Finally




bmp.Free;

jpg.Free;

end;

end;

Листинг 1. Примерный текст программы для занесения графических изображений в таблицу базы данных. Реализуется ввод файлов формата *.bmp и * jpg.

 

Содержание отчёта.

1) Номер, название, цель и задачи лабораторной работы.

2) Графические изображения и описания оборудования СТЭ по заданному варианту.

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

4) Образ формы приложения баз данных при запуске приложения (с результатами запросов), с подробными пояснениями элементов интерфейса.

5) Тексты подпрограмм-обработчиков событий.

6) Выводы по работе и проблемы, возникшие при выполнении лабораторной работы.

Таблица 1. Варианты заданий.

№№ Вариант статического запроса Компонент для реализации запроса Вариант динамического запроса Компонент для реализации запроса
1. C=AWB ADOQuery Проекция ADOQuery
2. C=AUB ADODataSet Селекция ADODataSet
3. C=A – B ADOQuery Декартово произведение ADOQuery
4. ADODataSet Соединение ADODataSet
5. ADOQuery Объединение ADOQuery
6. ADODataSet Пересечение ADODataSet
7. C=A*B ADOQuery Разность ADOQuery
8. ADODataSet Проекция ADODataSet
9. Создать копию таблицы ADOCommand Селекция ADOQuery
10. Создать таблицу ADOQuery Декартово произведение ADODataSet
11. Удалить таблицу ADODataSet Соединение ADOQuery
12. Очистить таблицу ADOConnection Объединение ADODataSet
  Добавить поле в структуру таблицы. ADOQuery Пересечение ADOQuery
14. Удалить поле из структуры таблицы. ADODataSet Проекция ADODataSet
15. Рассчитать количество записей. ADOQuery Селекция ADOQuery
16. Рассчитать среднее значение поля. ADOQuery Декартово произведение ADODataSet
17. Рассчитать суммарное значение поля. ADODataSet Соединение ADOQuery
18. Рассчитать минимальное значение поля. ADOQuery Объединение ADODataSet
19. Рассчитать объём для размещения оборудования ADODataSet Пересечение ADOQuery
20. Рассчитать индуктивное сопротивление трансформаторов. ADOQuery Проекция ADODataSet
21. Рассчитать объём для размещения оборудования ADODataSet Селекция ADOQuery
22. Рассчитать количество вентилей в преобразователях ADOQuery Декартово произведение ADODataSet
23. Обновить значение Масса*0,75 ADOConnection Соединение ADOQuery
24. Рассчитать количество вентилей в преобразователях ADOQuery Объединение ADODataSet
25. Рассчитать объём для размещения оборудования ADODataSet Проекция ADOQuery
26. Обновить значения uk,‰*0,75 ADOCommand Селекция ADODataSet
27. Обновить габариты*0,75 ADOConnection Декартово произведение ADOQuery
28. Обновить значения полной массы*0,75 ADOQuery Соединение ADODataSet
29. Определить максимальное значение отключающего тока. ADODataSet Объединение ADOQuery
30. Рассчитать объём для размещения оборудования ADOQuery Пересечение ADODataSet
31. Определить наибольшее рабочее напряжения. ADODataSet Проекция ADOQuery
32. Определить максимальную массу полюса ADOQuery Селекция ADODataSet
33. Определить максимальную массу привода ADODataSet Декартово произведение ADOQuery

 

Условные обозначения, принятые в таблице 1.

È – операция объединение, C=AÈB;

W – операция пересечение, C=AWB;

– – операция разность, C=A-B;

– операция проекция на множество атрибутов х;

– операция селекция по предикату F;

– операция декартово произведение C=A*B;

– операция соединение C=A B; условие соединения , где – условная операция: =, >, < и т.д., – атрибуты отношений.

 

 

Теоретические сведения к работе.

Большинство визуальных компонентов для работы с данными похожи на соответствующие компоненты для обычных приложений. Основное отличие заключается в том, что компоненты для работы с базами данных содержат свойства, позволяющие указать источник данных (DataSource) и поле, из которого компонент получает данные (DataField).

Таблица 2. Визуальные компоненты для работы с данными со страницы Data Controls.

Название Описание
DBText Предназначен для отображения текущего значения одного поля (аналог компонента Label).
DBEdit Предназначен для отображения и редактирования текущего значения одного поля (аналог компонента Edit).
DBMemo Предназначен для отображения и редактирования многострочных текстов (аналог компонента Memo).Максимальный размер текста 2ГБ.
DBRichEdit Предназначен для отображения и редактирования многострочных форматированных текстов (аналог компонента RichEdit).Максимальный размер текста 2ГБ.
DBImage Предназначен для просмотра изображений (аналог компонента Image).
DBCheckBox Связанный с данными аналог обычного индикатора CheckBox. Позволяет отображать и редактировать данные поля булевского типа. Если при выводе данных поле имеет значение True, то индикатор включается. И, наоборот, при редактировании поля присваиваемое ему значение определяется состоянием индикатора.
DBLookupComboBox Компонент синхронного просмотра и редактирования связанной информации в базе данных.
DBChart Компонент для создания графиков и диаграмм в базах данных.

 

Таблица 3. Общие свойства визуальных компонентов

Свойство Описание
DataField Поле связанного с компонентом набора данных
DataSource Связанный с компонентом источник данных
ReadOnly Запрещает/разрешает (true/false) пользователю изменять данные

 

Основы языка SQL.

 

SQL – это язык, который обеспечивает доступ к информации и позволяет управлять реляционными базами данных. Язык SQL – Structured Query Language– структурированный язык запросов, обычно произносится как

СИКВЭЛ или ЭСКЮЭЛЬ.

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

язык манипулирования данными;

язык определения данных;

 

Язык манипулирования данными состоит из четырёх основных команд:

SELECT (выбрать) – извлечь данные из одной или нескольких таблиц;

INSERT (вставить) – добавить строки в таблицу;

UPDATE (обновить) – изменить значения полей в таблице;

DELETE (удалить) – удалить строки из таблицы.

 

Язык определения данных используется для создания (CREATE ), изменения (ALTER), удаления (DROP) структуры базы данных и её составных частей. Основные команды языка определения данных:

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

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

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

 

Примеры использования языка SQL.

Например,

вывести все строки таблицы Трансформаторы:

SELECT *

FROM Трансформаторы

 

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

Рисунок 1. Графическое изображение операции селекция.

 

Например,

вывести все строки таблицы Трансформаторы, в которых мощность трансформаторов превышает 10000кВА:

 

SELECT *

FROM Трансформаторы

Where Sном > 10000

 

Операция проекции – это построение вертикального подмножества отношения, т.е. выделение подмножества столбцов таблицы. Операция проекции применяется к одной таблице и в качестве результата выдаёт таблицу, у которой оставлена только часть атрибутов и исключены строки-дубликаты.

 

Рисунок 2. Графическое изображение операции проекция.

 

Например,

вывести типы трансформаторов и напряжения короткого замыкания из таблицы Трансформаторы:

SELECT Тип_трансформатора, uкз

FROM Трансформаторы

 

На практике очень часто требуется получить подмножество столбцов и строк таблицы – выполнить комбинацию селекции и проекции. Для этого достаточно перечислить столбцы таблицы и наложить ограничения на строки.

 

 

Например,

получить информацию о типах трансформаторов и напряжения короткого замыкания только для трансформаторов, имеющих мощность свыше 10000кВА

SELECT Тип_трансформатора, uкз

FROM Трансформаторы

Where Sном > 10000

 

 

Декартово произведение R*S двух отношений (двух таблиц) определяет новое отношение, представляющее из себя совокупность всевозможных конкатенаций кортежей отношений, участвующих в операции декартово произведение ( результат сцепления каждой записи из отношения R с каждой записью из отношения S).

Рисунок 3. Иллюстрация операции декартово произведение.

 

Например,

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

 

SELECT Трансформаторы_Эл.*, Трансформаторы_Мех.*

FROM Трансформаторы_Эл, Трансформаторы_Мех

Если в предложении FROM указано более одной таблицы, то эти таблицы соединяются. По умолчанию результирующая таблица представляет собой перекрёстное соединение (Cross Join) или декартово произведение.

 

Таблица 4. Электрические характеристики трансформаторов тяговых подстанций.

Имя таблицы «Трансформаторы_Эл».

Тип_трансформатора U1 Pxx Pкз uкз
ТМТН-10000/110-67       10,5
ТДТН-16000/110-66       10,5
ТДТНЭ-20000/110-Б       10,5

 

Таблица 5. Механические характеристики трансформаторов тяговых подстанций.

Имя таблицы «Трансформаторы_Мех».

Тип_трансформатора Масса Высота Длина Ширина
ТМТН-10000/110-67        
ТДТН-16000/110-66        
ТДТНЭ-20000/110-Б        

 

Таблица 6. Результат операции декартово произведение над таблицами 5 и 6.

Трансформаторы_Эл.Тип_трансформатора U1 Pxx Pкз uкз Трансформаторы_Мех.Тип_трансформатора Масса Высота Длина Ширина
ТМТН-10000/110-67       10,5 ТМТН-10000/110-67        
ТДТН-16000/110-66       10,5 ТМТН-10000/110-67        
ТДТНЭ-20000/110-Б       10,5 ТМТН-10000/110-67        
ТМТН-10000/110-67       10,5 ТДТН-16000/110-66        
ТДТН-16000/110-66       10,5 ТДТН-16000/110-66        
ТДТНЭ-20000/110-Б       10,5 ТДТН-16000/110-66        
ТМТН-10000/110-67       10,5 ТДТНЭ-20000/110-Б        
ТДТН-16000/110-66       10,5 ТДТНЭ-20000/110-Б        
ТДТНЭ-20000/110-Б       10,5 ТДТНЭ-20000/110-Б        

 

 

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

Например,

Выполнить операцию соединение по эквивалентности над двумя таблицами, содержащими информацию об электрических и механических характеристиках трансформаторов тяговых подстанций при условии равенства ключевых полей (типов трансформаторов).

 

SELECT Трансформаторы_Эл.*, Трансформаторы_Мех.*

FROM Трансформаторы_Эл, Трансформаторы_Мех

Where Трансформаторы_Эл. Тип_трансформатора =

Трансформаторы_Мех. Тип_трансформатора

 

Таблица 7. Результат операции соединенея по эквивалентности над таблицами 5 и 6.

Трансформаторы_Эл.Тип_трансформатора U1 Pxx Pкз uкз Трансформаторы_Мех.Тип_трансформатора Масса Высота Длина Ширина
ТМТН-10000/110-67       10,5 ТМТН-10000/110-67        
ТДТН-16000/110-66       10,5 ТДТН-16000/110-66        
ТДТНЭ-20000/110-Б       10,5 ТДТНЭ-20000/110-Б        

 

Операция объединения (UNION).

Результатом операции объединения двух отношений R1 и R1 является отношение, представляющее собой множество кортежей (строк), принадлежащих или отношению R1 или отношению R2. Таким образом, предложение UNION объединяет вывод двух или более SQL запросов в единый набор строк и столбцов. При этом результаты запросов должны быть совместимы, т. е. иметь одинаковое количество полей с совпадающими типами данных (быть совместимыми по объединению).

 

Рисунок 4. Графическое изображение операции объединение.

 

Например,

Выполнить операцию объединение над двумя таблицами (8 и 9), содержащими информацию об электрических характеристиках трансформаторов тяговых подстанций.

 

SELECT .*

FROM Трансформаторы_Эл1

Union

SELECT .*

FROM Трансформаторы_Эл2

Таблица 8. Электрические характеристики трансформаторов тяговых подстанций.

Имя таблицы «Трансформаторы_Эл1».

Тип_трансформатора Sном U1 Pxx Pкз uкз
ТМТН-6300./110-65         10,5
ТМТН-10000/110-67         10,5
ТДТН-16000/110-66         10,5

 

Таблица 9. Электрические характеристики трансформаторов тяговых подстанций.

Имя таблицы «Трансформаторы_Эл2».

Тип_трансформатора Sном U1 Pxx Pкз uкз
ТМТН-10000/110-67         10,5
ТДТН-16000/110-66         10,5
ТДТНЭ-20000/110-Б         10,5

 

Таблица 10. Результат операции объединение над таблицами 8 и 9.

Тип_трансформатора Sном U1 Pxx Pкз uкз
ТМТН-6300./110-65         10,5
ТМТН-10000/110-67         10,5
ТДТН-16000/110-66         10,5
ТДТНЭ-20000/110-Б         10,5

 

Операция пересечение отношений R и S определяет отношение (таблицу), которое содержит записи, присутствующие как в R, так и в S. Отношения R и S должны быть совместимы по объединению. Таким образом, пересечением двух таблиц – R и S является таблица, содержащая все строки, присутствующие в обеих исходных таблицах одновременно.

 

Рисунок 5. Графическое изображение операции пересечение.

 

Например,

Выполнить операцию пересечение над двумя таблицами (8 и 9), содержащими информацию об электрических характеристиках трансформаторов тяговых подстанций.

SELECT .*

FROM Трансформаторы_Эл1

Where Exists

(SELECT .*

FROM Трансформаторы_Эл2

Where Трансформаторы_Эл2. Тип_трансформатора =

Трансформаторы_Эл1. Тип_трансформатора)

 

Пояснение. Текст запроса представляет собой структуру – запрос с подзапросом. Подзапрос подключается к внешнему запросу при помощи так называемого «квантора существования» – Exists (существует). В данном примере, в подзапросе проверяется существование совпадения значений ключевых полей.

 

Таблица 11. Результат операции пересечение над таблицами 8 и 9.

Тип_трансформатора Sном U1 Pxx Pкз uкз
ТМТН-6300./110-65         10,5
ТМТН-10000/110-67         10,5
ТДТН-16000/110-66         10,5
ТДТНЭ-20000/110-Б         10,5

 

Разность двух отношений R и S состоит из записей, которые имеются в отношении R, но отсутствуют в отношении S. Причём отношения R и S должны быть совместимы по объединению. Таким образом, разностью двух таблиц R и S является таблица, содержащая все строки, которые присутствуют в таблице R, но отсутствуют в таблице S.

 

Рисунок 6. Графическое изображение операции разность.

 

Например,

Выполнить операцию разность над двумя таблицами (8 и 9), содержащими информацию об электрических характеристиках трансформаторов тяговых подстанций.

 

SELECT .*

FROM Трансформаторы_Эл1

Where Not Exists

(SELECT .*

FROM Трансформаторы_Эл2

Where Трансформаторы_Эл2. Тип_трансформатора =

Трансформаторы_Эл1. Тип_трансформатора)

 

Пояснение. Текст запроса представляет собой структуру – запрос с подзапросом. Подзапрос подключается к внешнему запросу при помощи выражения–Not Exists (не существует). В данном примере, в подзапросе проверяется условие противоположное условию в операции пересечение.

 

Таблица 12. Результат операции разность над таблицами 8 и 9.

Тип_трансформатора Sном U1 Pxx Pкз Uкз
ТМТН-6300./110-65         10,5

 

Деление

Пусть отношение R, называемое делимым, содержит атрибуты (A1,A2,...,An). Отношение S - делитель содержит подмножество атрибутов A: (A1,A2,...,Ak) (k<n). Результирующее отношение C определено на атрибутах отношения R, которых нет в S, т.е. Ak+1,Ak+2,...,An. Кортежи включаются в результирующее отношение C только в том случае, если его декартово произведение с отношением S содержится в делимом R.

 

Рисунок 7. Графическое изображение операции деление.

 

Операция деления может быть выражена через выше описанные операции реляционной алгебры при помощи формулы:

Например,

Имеются таблицы R - «Остановки поездов на станциях» и S – «Номера поездов».

Таблица 13. Остановки поездов на станциях. Таблица 14. Номера поездов.

Название_станции Номер_Поезда
Станция_1  
Станция_1  
Станция_1  
Станция_2  
Станция_3  

 

Номер_Поезда
 
 
 

 

Требуется определить имена станций из таблицы 13, на которых останавливаются все поезда из таблицы 14. Задача может быть решена применением реляционной операции деления и представлена в виде одного запроса с подзапросами на языке SQL.

 

Select Distinct R.Название_станции

From R

Where NOT Exists

(Select *

From S

Where NOT Exists

(Select *

From R R1

Where R1.Название_станции = R.Название_станции and

'R1.Номер_поезда = S.Номер_поезда))

 

Пояснение запроса.

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

Это выражение дословно переводится на язык SQL. При переводе выражения на язык SQL нужно учесть, что во внутреннем подзапросе таблица R должна быть переименована, для того чтобы отличать её от экземпляра этой же таблицы, используемой во внешнем запросе. Директива Distinct (несовпадающий) необходима для исключения дублирования строк в результирующем отношении.

 

 

Содержание отчёта.

1) Номер, название, цель и задача лабораторной работы.

2) Графические изображения и описания оборудования системы тягового электроснабжения по заданному варианту.

3) Распечатки текстов подпрограмм – обработчиков событий.

4) Вид интерфейса приложения баз данных в интегрированной среде разработчика с подробным описанием элементов интерфейса (примерный вид интерфейса приведён на рисунке 7).

5) Вид интерфейса приложения баз данных при выполнении статического запроса (примерный вид интерфейса приведён на рисунке 8).

6) Вид интерфейса приложения баз данных при выполнении динамического запроса (примерный вид интерфейса приведён на рисунке 9).

7) Выводы по работе и проблемы, возникшие при выполнении лабораторной работы.

 

Рисунок 8. Интерфейс с отображением данных в режиме сетки и в режиме формы в процессе разработки. Для отображения в режиме сетки используется компонент DBGrid, а режиме формы компоненты DBImage и DBMemo. Для формирования динамического запроса используется компонент Memo.

 

Рисунок 9. Интерфейс с отображением данных в режиме сетки и в режиме формы при выполнении приложения баз данных. Выполнен статический запрос для визуализации данных из таблицы «Трансформаторы».

 

Рисунок 10. Интерфейс с отображением данных в режиме сетки и в режиме формы при выполнении приложения баз данных. Выполнен динамический запрос на основе операции селекция для визуализации данных из таблицы «Трансформаторы».

 

 

Контрольные вопромы и задачи.

1) В чём принципиальное отличие отображения данных в режиме сетки и в режиме формы.

2) Какими дополнительными свойствами обладает компонент DBImage в сравнении с компонентом Image.

3) Какими дополнительными свойствами обладает компонент DBMemo в сравнении с компонентом Memo.

4) Каким образом можно занести иллюстрацию (фото, рисунок, схему и т.п.) в базу данных.

5) Каким образом можно занести объёмный текст (подробное описание технических характеристик оборудования системы тягового электроснабжения) в базу данных.

6) В чём принципиальное отличие статического запроса от динамического.

7) Какие компоненты страницы dbGo предназначены для формирования и выполнения запросов к базе данных на языке SQL.

8) Какие компоненты страницы dbGo способны выполнять запросы на языке SQL с возвращением набора данных клиенту.

9) Какие компоненты страницы dbGo не возвращают результаты запроса клиенту.

10) В чём отличие операции объединения от операции соединения.

11) Какие по смыслу запросы реализуются операцией деление.


 

Лабораторная работа №3 (№10).

Создание приложения баз данных по системе клиент/сервер.

Цель работы.

Освоение технологии создания трёхуровневой системы базы данных: «Тонкий клиент» – «Сервер приложений» – «Сервер баз данных».

Постановка задачи.

Создать в Delphi приложения «Тонкий клиент»и «Сервер приложений» для организации статических и динамических запросов к базе данных, содержащей информацию об оборудовании системы тягового электроснабжения и расположенной на сервере баз данных MS Access.

Теоретические сведения к работе.

Технология MIDAS (Multi-tier Distributed Application Services Suite – сервис для создания многоуровневых распределённых приложений) была предложена фирмой Borland. И с тех пор практически все приложения для работы с базами данных создаются именно на основе MIDAS. О преимуществах. Даже простое разделение приложения на две части, одна из которых работает с базой данных (сервер приложений), а другая обеспечивает интерфейс пользователя, создает значительные удобства как при разработке приложения, так и при его использовании.

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

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

В лабораторной работе рассматривается очень простое приложение для работы с сервером баз данных MS Access. Два других уровня – тонкий клиент и сервер приложений строятся на основе Delphi. С его помощью демонстрируются некоторые способы создания полноценного сервера приложений, обеспечивающего полную обработку данных.

 

Порядок выполнения работы.

I. Разработка сервера приложений.

1. Создать обычное приложение Delphi.

2. На форму приложения добавить одну кнопку, предназначенную для завершения работы сервера приложений (рисунок 1).

3. Добавить в приложение модуль с именем «Remote Data Module» - удалённый модуль данных. Путь к модулю: File\New\Other\Delphi Projects\Multitier\Remote Data Module (рисунок 2).

4. В появившемся диалоговом окне следует заполнить поле с именем «CoClass Name». Например, AppServer_TCE_111_Ivanov (рисунок 3). В дальнейшем под этим именем будет выполнена регистрация сервера приложений на удалённом компьютере. Остальные поля следует оставить без изменений. Нажать кнопку Ок.

Рисунок 1. Пример интерфейса сервера приложений.

 

Рисунок 2. Включение в проект Delphi удалённого модуля данных – Remote Data Module.

5. Сделать активной страницу с удалённым модулем данных (рисунок 4).

6. Добавить на форму модуля компоненты для работы с базами данных по технологии ADO: TADOConnection, TADOTable, TADOQuery. Количество компонентов определяется разработчиком.

7. Добавить на форму модуля компоненты TDataSetProvider, находящиеся в разделе Data Access (рисунок 5).

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

9. В главном меню Delphi выбрать Run\Parameters и в появившемся окне ввести значение – «/RegServer» в строку с именем «Parametrs».

10. Откомпилировать и запустить приложение. Это необходимо для регистрации сервера приложений в системе.

 

Рисунок 3. Задание имени серверу приложений. В примере CoClass Name = AppServer_TCE_111_Ivanov.

Рисунок 4. Задание параметра «/RegServer», необходимого для регистрации сервера приложений в системе.

Рисунок 5. Расположение компонента провайдера – TDataSetProvider в палитре компонентов Delphi.

II. Разработка приложения «Тонкий клиент».

1. Создать обычное приложение Delphi.

2. На форму приложения добавить компонент TDCOMConnection (рисунок 6), который находится в разделе DataSnap Client.

Рисунок 6. Расположение компонента TDCOMConnection в палитре компонентов Delphi.

3. Произвести настройку соединения этого компонента с удалённым модулем данных на сервере приложений. В первую очередь задать значение свойства ServerName из выпадающего списка. После этого автоматически создастся глобальный уникальный идентификатор в поле ServerGUID. И, наконец, свойство Connected переключить в true (рисунок 7).

Рисунок 7. Настройка свойств компонента TDCOMConnection, обеспечивающего связь с удалённым модулем данных Remote Data Module.

4. Перенести на форму компонент TClientDataSet, расположенный в разделе Data Access палитры компонентов (рисунок 8). Настроить его свойства (рисунок 9). В первую очередь задать значение свойства RemoteServer – в нашем примере это DCOMConnection1. Затем выбрать провайдера – свойство ProviderName – в нашем примере DataSetProvider1. И, наконец, устанавить свойство Active в true.

5. Добавить на форму компоненты, необходимыми для отображения набора данных, как в режиме сетки, так и в режиме формы (рисунок 10). Настроить все необходимые свойства.

Рисунок 8. Расположение компонента TClientDataSet в палитре компонентов Delphi – страница Data Access.

Рисунок 9. Настройка свойств компонента TClientDataSet, предназначенного для формирования запросов через провайдера – DataSetProvider1 к базам данных, расположенным на сервере баз данных.

Рисунок 10. Пример интерфейса приложения «Тонкий клиент» в среде разработчика Delphi. Таблица базы данных отображается как в режиме сетки, так и в режиме формы.

III. Программирование статических и динамических запросов к базам данных, расположенных на сервере баз данных.

Некоторые примеры программного кода подпрограмм - обработчиков событий в приложении «Тонкий клиент».

 

1. Удаление таблицы из базы данных.

Листинг 1.

procedure TForm2.Button1Click(Sender: TObject);




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


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


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



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




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