Поделиться через


Создание типизированных результирующих наборов

Обновлен: Ноябрь 2007

Если свойство CustomTool в файле XSD-схемы задано как MSResultSetGenerator, вместо обычных типизированных объектов источника данных DataSet создаются типизированные объекты источника данных результирующего набора. Результирующие наборы — это быстрые курсоры базы данных, которые поддерживают привязку данных пользовательского интерфейса, перемещение назад и вперед по данным и обновление данных в базе данных. В качестве постоянно подключенной модели результирующий набор поддерживает подключение к базе данных.

Функции типизированного результирующего набора

Созданные объекты типизированного результирующего набора предоставляют строго типизированный доступ к таблице базы данных, почти как в случаях с DataSets. Поэтому созданный код гарантирует точность соответствия данных, передаваемого между приложением и базой данных, схеме базы данных во время компиляции. Типизированный созданный код результирующего набора расширяет базовый класс результирующего набора SQL Server Compact 3.5 для обеспечения свойств и методов, относящихся к конечной таблице базы данных.

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

  • Конструкторы. Созданный, типизированный результирующий набор содержит два конструктора. Конструктор по умолчанию используется как в сценариях времени разработки, так и в основных сценариях времени выполнения. Во время разработки Visual Studio необходим конструктор по умолчанию для подключения к базе данных, которая находится на локальном компьютере разработчика. Поэтому созданный код содержит строку подключения к локальному файлу базы данных SQL Server Compact 3.5. Конструктор по умолчанию во время выполнения переключается на локальный файл базы данных SQL Server Compact 3.5 в том же каталоге, в котором находится исполняемое приложение. Это основной сценарий времени выполнения.

  • Строки подключения. Если сценарий времени выполнения является сложным, например файл базы данных SQL Server Compact 3.5 находиться в другом не в каталоге исполняемого приложения или строка подключения видоизменилась другим образом, например в нее был добавлен пароль, можно использовать перегруженный конструктор. Перегруженный конструктор принимает два аргумента: пользовательскую строку подключения и пользовательский флаг ResultSetOptions.

  • Свойство подключения. Свойство подключения — это реальный объект SqlCeConnection, который используется типизированным результирующим набором для получения доступа к базе данных. Свойство подключение является открытым и позволяет управлять состоянием подключения для типизированного результирующего набора. Например, подключение должно прерываться для выполнения некоторых транзакций.

  • Строго типизированный доступ к столбцам таблицы. Созданный код создает метод доступа к свойству для каждого столбца в таблице данных. Тип свойства определяется по сопоставлению базового типа базы данных с типом .NET Framework. Например, nvarchar соответствует строке в .NET Framework. Так как созданное свойство поддерживает методы доступа Get и Set, можно отправлять и получать данные с помощью строк .NET Framework вместо nvarchar базовой базы данных. Также каждый столбец имеет метод IsxxxDBNull и SetxxxDBNull, где xxx — это имя столбца, что делает возможным получать DBNull из базы данных и задавать DBNull для базы данных.

  • Метод AddxxxRecord (где xxx — это имя таблицы). Этот метод позволяет добавлять новые строки в таблицу базы данных. Метод AddxxxRecord содержит один параметр для каждого столбца в таблице базы данных, кроме столбцов автоувеличения, значения для которых задает ядро базы данных. Каждый параметр снова объявляется в качестве типа .NET Framework, что позволяет приложению без труда использовать этот тип и отделять его от базового типа базы данных. После вызова этого метода вызывать обновление необязательно. После вызова метода новая строка записывается в базу данных.

  • Метод DeletexxxRecord (где xxx — это имя таблицы). Этот метод удаляет текущую строку из базы данных. В отличие от наборов данных, это преобразование не кэшируется, и после вызова строка удаляется из базы данных. Нет необходимости в вызове обновления после вызова этого метода.

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

    ms228700.alert_note(ru-ru,VS.90).gifПримечание.

    Для сценария времени разработки необходима жестко запрограммированная строка подключения к базе данных SQL Server Compact 3.5. Эта строка подключения может получить данные, если, к примеру, проект совместно используется несколькими разработчиками. В результате окно Источник данных или конструктор Windows Forms могут не открыть этот проект. Можно повторно создать типизированный код результирующего набора для исправления этой неполадки. В окне Обозреватель решений щелкните правой кнопкой мыши XSD-файл схемы и щелкните Выполнить CustomTool.

См. также

Основные понятия

Результирующие наборы и наборы данных (устройства)

Другие ресурсы

Работа с данными в управляемых проектах устройств