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


Объект DataControl (служба удаленных рабочих столов)

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

Внимание

Начиная с Windows 8 и Windows Server 2012, компоненты сервера RDS больше не включены в операционную систему Windows (дополнительные сведения см. в книге по совместимости Windows 8 и Windows Server 2012). Клиентские компоненты RDS будут удалены в будущей версии Windows. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Приложения, использующие RDS, должны перенестися в службу данных WCF.

Синтаксис

  
<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="DataControl"  
   <PARAM NAME="Connect" VALUE="DSN=DSNName;UID=MyUserID;PWD=MyPassword;">  
   <PARAM NAME="Server" VALUE="https://awebsrvr">  
   <PARAM NAME="SQL" VALUE="QueryText">  
</OBJECT>  

Замечания

Идентификатор класса для RDS. Объект DataControl имеет значение BD96C556-65A3-11D0-983A-00C04FC29E33.

Примечание.

Если вы получите сообщение об ошибке RDS. Пространство данных или RDS. Объект DataControl не загружается, убедитесь, что используется правильный идентификатор класса. Идентификаторы классов для этих объектов изменились с версии 1.0 и 1.1. Кроме того, помните, что при использовании объекта RDS DataControl необходимо задать даже столбцы, допускающие значение NULL.

Для базового сценария необходимо задать только свойства SQL, Connect и Server RDS. Объект DataControl, который автоматически вызывает бизнес-объект по умолчанию RDSServer.DataFactory.

Все свойства в RDS. DataControl является необязательным, так как пользовательские бизнес-объекты могут заменить их функциональные возможности.

Примечание.

При запросе к нескольким результатам возвращается только первый набор записей. Если требуется несколько результирующих наборов, назначьте каждому из них собственный DataControl. Пример запроса для нескольких результатов может быть следующим: "Select * from Authors, Select * from Topics"

Добавьте "DFMode=20;" в строка подключения при использовании RDS. Объект DataControl может повысить производительность сервера при обновлении данных. При использовании этого параметра объект RDSServer.DataFactory на сервере использует менее ресурсоемкий режим. Однако в этой конфигурации недоступны следующие функции:

  • Использование параметризованных запросов.

  • Получение сведений о параметрах или столбцах перед вызовом метода Execute .

  • Установка значения "Обновления Transact" значение True.

  • Получение состояния строки.

  • Вызов метода Resync.

  • Обновление (явно или автоматически) с помощью свойства Update Resync .

  • Задание свойств Command или Recordset .

  • Использование adCmdTableDirect.

RDS. Объект DataControl выполняется в асинхронном режиме по умолчанию. Если для приложения требуется синхронное выполнение, задайте параметр ExecuteOptions равным adcExecSync и параметру FetchOptions равным adcFetchUpFront, как показано в следующем примере.

<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"   
    ID="DataControl"  
   <PARAM NAME="Connect" VALUE="DSN=DSNName;UID=MyUserID;PWD=MyPassword;">  
   <PARAM NAME="Server" VALUE="https://awebsrvr">  
   <PARAM NAME="SQL" VALUE="QueryText">  
   <PARAM NAME="ExecuteOptions" VALUE="1">   <PARAM NAME="FetchOptions" VALUE="1">  
</OBJECT>  

Используйте один RDS. Объект DataControl для связывания результатов одного запроса с одним или несколькими визуальными элементами управления. Например, предположим, что запрос запрашивает данные клиента, такие как имя, резиденция, место рождения, возраст и статус клиента приоритета. Вы можете использовать один RDS. Объект DataControl для отображения имени клиента, возраста и региона в трех отдельных текстовых полях; Состояние приоритета клиента в флажке; и все данные в элементе управления сеткой.

Используйте разные RDS. Объекты DataControl для связывания результатов нескольких запросов с различными визуальными элементами управления. Например, предположим, что вы используете один запрос для получения сведений о клиенте и второй запрос для получения сведений о товарах, приобретенных клиентом. Вы хотите отобразить результаты первого запроса в трех текстовых полях и одном флажке, а также результаты второго запроса в элементе управления сеткой. Если используется бизнес-объект по умолчанию (RDSServer.DataFactory), необходимо выполнить следующее:

  • Добавьте два RDS. Объекты DataControl на веб-странице.

  • Напишите два запроса, по одному для каждого свойства SQL двух RDS. Объекты DataControl . Один RDS. Объект DataControl будет содержать SQL-запрос, запрашивающий сведения о клиенте; второй будет содержать запрос, запрашивающий список товаров, приобретенных клиентом.

  • В тегах OBJECT каждого связанного элемента управления укажите значение DATAFLD, чтобы задать значения данных, которые необходимо отобразить в каждом визуальном элементе управления.

Число удаленных рабочих служб не ограничивается. Объекты DataControl , которые можно внедрить с помощью тегов OBJECT на одной веб-странице.

При определении RDS. Объект DataControl на веб-странице используйте ненулевое значение высоты и ширины , например 1 (чтобы избежать включения дополнительного пространства).

Компоненты клиента службы удаленных данных уже включены в состав Internet Explorer 4.0; Таким образом, в RDS не требуется включать параметр CODEBASE. Тег объекта DataControl .

С помощью Internet Explorer 4.0 или более поздней версии можно привязать к данным с помощью элементов управления HTML и элементов ActiveX только в том случае, если они помечены как элементы управления моделью квартиры.

Примечание.

Пользователи Microsoft Visual Basic в RDS. DataControl является безопасным для сценариев и используется только в веб-приложениях. Клиентское приложение Visual Basic не нуждается в нем.

Этот раздел содержит следующий раздел.

См. также

Пример объекта DataControl (VBScript)