Использование ProDataSet
В рамках данного тренинга вы познакомитесь с методиками описания и применения наборов данных, а также получите практические навыки их интеграции в приложения с помощью Progress Developer Studio for OpenEdge.
Тренинг направлен на изучение основных аспектов работы с данными, включая их описание, заполнение и обработку, а также обмен данными между приложениями. Особое внимание уделяется использованию наборов данных в распределённой архитектуре, управлению их поведением и работе с форматами JSON и XML.
Обзор
Этот тренинг предназначен для разработчиков приложений, которые собираются использовать современные и эффективные методы работы с данными в своих проектах. У обучающихся должен быть опыт работы с языком программирования Advanced Business Language (ABL).
Предлагаемый материал ориентирует студентов на проектирование и разработку приложений с использованием наборов данных ABL (ProDataSet).
Учащиеся узнают, как описать и где использовать наборы данных, а затем попрактикуются во включении наборов данных в приложения во время практических упражнений с использованием Progress Developer Studio for OpenEdge. Материал курса акцентирует внимание на описании, заполнении и выполнении операций с данными с использованием наборов данных и обмене данными с другими приложениями. Включает в себя обзор того, как наборы данных используются в распределённой архитектуре, как управлять поведением наборов данных и как читать или записывать наборы данных в форматах JSON и XML.
Цели:
- Объяснить, что такое набор данных.
- Научить писать ABL-код для:
- описания наборов данных;
- заполнения набора данных в программном коде, предназначенном для работы на стороне сервера приложений PAS for OpenEdge;
- изменения данных в наборе данных на стороне клиентского кода;
- применения изменений в наборе данных к базе данных;
- обнаружения и обработки событий набора данных;
- обнаружения и обработки ошибок набора данных;
- чтения и записи набора данных в форматах JSON и XML.
Учебный план
Учебный план
- 10 Sections
- 89 Lessons
- Срок службы
- ПОДГОТОВКА СРЕДЫ1
- ВВЕДЕНИЕ В PRODATASET7
- ОПИСАНИЕ И ЗАПОЛНЕНИЕ НАБОРОВ ДАННЫХ14
- 4.1Цели урока
- 4.2Описание набора данных
- 4.3Упражнение 2.1: Создание общего проекта
- 4.4Упражнение 2.2: Создание файлов для временных таблиц
- 4.5Упражнение 2.3: Создание файла для набора данных
- 4.6Упражнение 2.4: Создание процедуры для работы с набором данных
- 4.7Описание и привязка источников данных к набору данных
- 4.8Упражнение 2.5: Описание источника данных
- 4.9Упражнение 2.6: Подключение источника данных
- 4.10Заполнение набора данных
- 4.11Очистка набора данных
- 4.12Упражнение 2.7: Полное заполнение набора данных
- 4.13Упражнение 2.8: Частичное заполнение набора данных
- 4.14Упражнение 2.9: Применение FILL-WHERE-STRING
- НАБОРЫ ДАННЫХ В КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРЕ13
- 5.1Цели урока
- 5.2Использование наборов данных в распределённой среде
- 5.3Упражнение 3.1: Передача набора данных клиенту
- 5.4Упражнение 3.2: Внутренняя процедура для извлечения данных
- 5.5Подготовка клиентского кода для получения набора данных с сервера
- 5.6Упражнение 3.3: Подготовка среды разработки для работы с сервером приложений
- 5.7Упражнение 3.4: Создание проекта для клиентского кода
- 5.8Упражнение 3.5: Подключение к серверу приложений
- 5.9Упражнение 3.6: Получение набора данных без фильтров
- 5.10Упражнение 3.7: Добавление фильтра для таблицы PurchaseOrder
- 5.11Упражнение 3.8: Добавление фильтров PurchaseOrder и POLine
- 5.12Упражнение 3.9: Получение набора данных с применением APPEND
- 5.13Упражнение 3.10: Тестирование клиентского и серверного кода
- ОБНОВЛЕНИЕ НАБОРОВ ДАННЫХ8
- 6.1Цели урока
- 6.2Изменение данных в наборе
- 6.3Изменение данных клиентом
- 6.4Обработка набора изменений на сервере
- 6.5Слияние изменений после обновления
- 6.6Упражнение 4.1: Изменение набора данных на клиенте
- 6.7Упражнение 4.2: Обработка изменений на сервере
- 6.8Упражнение 4.3: Тестирование клиентского и серверного кода
- ОБРАБОТКА СОБЫТИЙ НАБОРА ДАННЫХ12
- 7.1Цели урока
- 7.2Реализация обработчика событий
- 7.3Обработка событий заполнения
- 7.4Обработка событий изменения
- 7.5Пакетная обработка данных
- 7.6Упражнение 5.1: Создание процедуры обработчика событий
- 7.7Упражнение 5.2: Маппинг таблицы с обработчиком события заполнения
- 7.8Упражнение 5.3: Тестирование обработчика заполнения на сервере
- 7.9Упражнение 5.4: Процедура обработки события изменения на клиенте
- 7.10Упражнение 5.5: Подготовка кода для тестирования обработчика события изменения
- 7.11Упражнение 5.6: Пакетирование на стороне сервера
- 7.12Упражнение 5.7: Пакетирование на стороне клиента
- ОБРАБОТКА ОШИБОК НАБОРА ДАННЫХ7
- 8.1Цели урока
- 8.2Обработка системных ошибок
- 8.3Обработка ошибок, связанных с данными в приложении
- 8.4Предоставление информации об ошибке клиенту
- 8.5Упражнение 6.1: Обработка системных ошибок
- 8.6Упражнение 6.2: Установка и получение атрибута REJECTED
- 8.7Упражнение 6.3: Установка и извлечение атрибута ERROR-STRING
- ЧТЕНИЕ И ЗАПИСЬ НАБОРОВ ДАННЫХ В ФОРМАТЕ JSON10
- 9.1Цели урока
- 9.2Что такое объект JSON?
- 9.3Запись набора данных в файл JSON
- 9.4Чтение данных JSON в набор данных
- 9.5Работа с JSON-данными
- 9.6Упражнение 7.1: Запись данных в JSON
- 9.7Упражнение 7.2: Чтение JSON-данных
- 9.8Упражнение 7.3: Запись вложенных JSON-данных
- 9.9Упражнение 7.4: Использование отличающихся имён
- 9.10Упражнение 7.5: Запись подмножества полей в JSON-файл
- ЧТЕНИЕ И ЗАПИСЬ НАБОРОВ ДАННЫХ В ФОРМАТЕ XML17
- 10.1Цели урока
- 10.2Автоматизация обмена данными с помощью XML
- 10.3Запись данных ProDataSet в XML
- 10.4Интерпретация вывода XML
- 10.5Форматирование реляционных данных в XML
- 10.6Скрытие внешних ключей в XML-файле
- 10.7Пропуск начальных значений в XML-файле
- 10.8Использование альтернативных имён в XML
- 10.9Элементы и атрибуты XML
- 10.10Запись описания набора данных в XML
- 10.11Запись данных before-image в файл XML
- 10.12Запись XML из нескольких наборов данных
- 10.13Заполнение ProDataSet из файла XML
- 10.14Создание динамичных ProDataSet
- 10.15Выбор режима чтения
- 10.16Проверка схемы XML
- 10.17Настройка сопоставления типов данных
- ЗАКЛЮЧЕНИЕ1