Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Использование файлов и потоков XML для сохранения и передачи данных
Использование файлов и потоков XML для сохранения и передачи данных
Сохранение содержимого объектов ADO.NET DataSet в виде XML-файлов можно считать вариантом "базы данных для бедных". Данные приложения сохраняются в текстовом файле с использованием формата, который позволяет осуществить последующую повторную загрузку данных в память в виде объекта ADO.NET DataSet. Это аналогично получению объекта DataSet, возвращаемого через запрос Web-службы. В противоположность сохранению данных в базе данных использование текстового XML-файла для хранения данных лишает ваше приложение богатых возможностей транзакций и гарантий целостности данных, предлагаемых современными базами данных. Несмотря на ограниченность этой модели в отношении хранения больших объемов данных и возможности обновления данных посредством механизма транзакций, она может хорошо послужить при хранении данных небольшого объема (например, XML-файлы размером 20 Кбайт) или при перемещении данных на сервер посредством XML-потоков. Сохранение объектов DataSet в виде постоянно существующих XML-файлов можно рассматривать как простой способ упаковки небольших или средних объемов информации о состояния приложения для ее последующего повторного использования.
При записи содержимого объекта DataSet в файл или поток XML важно внимательно изучить опции, предлагаемые перечислением System.Data.XmlWriteMode. Исходя из соображений производительности, при сохранении объектов DataSet в виде постоянно существующих XML-файлов рекомендуется одновременно сохранять XML-схему (то есть использовать System.Data.XmlWriteMode.WriteSchema). Запись схемы данных вместе с самими данными обеспечивает существенное ускорение повторной загрузки XML-данных в объект DataSet; в противном случае схема должна будет динамически определяться во время повторной загрузки данных, а это потребует выполнения дополнительной работы. В листинге 14.2 представлен простой пример сохранения объекта DataSet в XML-файле. В этом примере предоставляется возможность задавать параметр WriteSchema.
Чтобы выполнить пример, дополните код, приведенный в листинге 14.1, кодом из листинга 14.2 и добавьте элемент управления Button, который вызывает функцию writeDataSetToFile.
- Высокоуровневый подход, основанный на использовании объектов ADO.NET DataSet
- Низкоуровневый подход, основанный на использовании объектов подключения к данным ADO.NET
- В каких случаях следует использовать объекты ADO.NET DataSet
- Использование классов DataAdapter для организации взаимодействия с базами данных
- Использование файлов и потоков XML для сохранения и передачи данных
- Листинг 14.2. Использование параметра XMLWriteMode при сохранении объекта ADO.NET DataSet
- Сериализация объектов ADO.NET DataSet с помощью пользовательского кода
- Работа с нетипизированными объектами DataSet
- Перенос типизированных объектов ADO.NET DataSet на мобильные устройства
- Меры по обеспечению максимальной производительности при работе с объектами ADO.NET DataSet
- Листинг 14.3. Сравнение производительности различных вариантов доступа к данным с использованием объектов DataSet
- В каких случаях не следует использовать объекты ADO.NET DataSet
- Листинг 14.4. Результаты тестирования производительности при использовании пользовательского формата данных вместо объектов DataSet
- Пример использования базы данных на устройстве и управления пользовательскими данными
- Листинг 14.5. Пример пользовательского управления данными — код, помещаемый в форму Form1.cs
- Листинг 14.6. Пример кода управления данными для DatabaseAccess.cs
- Листинг 14.7. Пример кода управления данными для GameData.cs
- Листинг 14.8. Пример кода управления данными для VocabularyWord.cs
- ГЛАВА 10 ADO.NET и XML
- Резервное копирование базы данных InterBase
- Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Резервное копирование многофайловых баз данных
- Восстановление с использованием инструмента gbak
- Восстановление из резервных копий многофайловых баз данных
- Владелец базы данных
- ЧАСТЬ IV. База данных и ее объекты.
- Перевод базы данных InterBase 6.x на 3-й диалект
- Типы данных для работы с датой и временем
- Достоинства и недостатки потоков
- Практическая работа 53. Запуск Access. Работа с объектами базы данных