Compartir a través de


Objeto DataControl (RDS)

Enlaza una consulta de datos recordset a uno o varios controles (por ejemplo, un cuadro de texto, un control de cuadrícula o un cuadro combinado) para mostrar los datos del conjunto de registros en una página web.

Importante

A partir de Windows 8 y Windows Server 2012, los componentes del servidor RDS ya no se incluyen en el sistema operativo Windows (consulte Windows 8 y Guía de compatibilidad de Windows Server 2012 para obtener más detalles). Los componentes de cliente de RDS se quitarán en una versión futura de Windows. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Las aplicaciones que usan RDS deben migrar a WCF Data Service.

Sintaxis

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

Observaciones

Identificador de clase para RDS. El objeto DataControl es BD96C556-65A3-11D0-983A-00C04FC29E33.

Nota:

Si recibe un error de RDS. DataSpace o RDS. El objeto DataControl no se carga, asegúrese de que usa el identificador de clase correcto. Los identificadores de clase de estos objetos han cambiado de la versión 1.0 y 1.1. Además, tenga en cuenta que incluso las columnas que aceptan valores NULL deben establecerse al usar el objeto DataControl de RDS .

Para un escenario básico, solo debe establecer las propiedades SQL, Connect y Server de RDS. Objeto DataControl , que llamará automáticamente al objeto de negocio predeterminado, RDSServer.DataFactory.

Todas las propiedades de RDS. DataControl es opcional porque los objetos empresariales personalizados pueden reemplazar su funcionalidad.

Nota:

Si consulta varios resultados, solo se devuelve el primer objeto Recordset . Si se necesitan varios conjuntos de resultados, asigne cada uno a su propio DataControl. Un ejemplo de una consulta para varios resultados podría ser el siguiente: "Select * from Authors, Select * from Topics"

Agregar "DFMode=20;" a la cadena de conexión al usar RDS. El objeto DataControl puede mejorar el rendimiento del servidor al actualizar los datos. Con esta configuración, el objeto RDSServer.DataFactory en el servidor usa un modo menos intensivo de recursos. Sin embargo, las siguientes características no están disponibles en esta configuración:

  • Usar consultas con parámetros.

  • Obtención de información de parámetros o columnas antes de llamar al método Execute .

  • Establecimiento de Transact Updates en True.

  • Obtención del estado de fila.

  • Llamar al método Resync .

  • Actualización (explícita o automática) a través de la propiedad Update Resync .

  • Establecer propiedades Command o Recordset .

  • Uso de adCmdTableDirect.

RDS. El objeto DataControl se ejecuta en modo asincrónico de forma predeterminada. Si necesita ejecución sincrónica para la aplicación, establezca el parámetro ExecuteOptions igual a adcExecSync y el parámetro FetchOptions igual a adcFetchUpFront, como se muestra en el ejemplo siguiente.

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

Use un RDS. Objeto DataControl para vincular los resultados de una sola consulta a uno o varios controles visuales. Por ejemplo, supongamos que codifica una consulta que solicita datos de clientes como Name, Residence, Place of Birth, Age y Priority Customer Status. Puede usar un único RDS. Objeto DataControl para mostrar el nombre, la antigüedad y la región de un cliente en tres cuadros de texto independientes; Estado de cliente prioritario en una casilla; y todos los datos de un control de cuadrícula.

Use diferentes RDS. Objetos DataControl para vincular los resultados de varias consultas a distintos controles visuales. Por ejemplo, supongamos que usa una consulta para obtener información sobre un cliente y una segunda consulta para obtener información sobre la mercancía que el cliente ha comprado. Desea mostrar los resultados de la primera consulta en tres cuadros de texto y una casilla, y los resultados de la segunda consulta en un control de cuadrícula. Si usa el objeto de negocio predeterminado (RDSServer.DataFactory), debe hacer lo siguiente:

  • Agregue dos RDS. Objetos DataControl en la página web.

  • Escriba dos consultas, una para cada propiedad SQL de los dos RDS. Objetos DataControl . Un RDS. El objeto DataControl contendrá una consulta SQL que solicita información del cliente; el segundo contendrá una consulta que solicita una lista de mercancías que el cliente ha comprado.

  • En las etiquetas OBJECT de cada control enlazado, especifique el valor DATAFLD para establecer los valores de los datos que desea mostrar en cada control visual.

No hay ninguna restricción de recuento en el número de RDS. Objetos DataControl que puede insertar mediante etiquetas OBJECT en una sola página web.

Al definir RDS. Objeto DataControl en una página web, use valores de alto y ancho distintos de cero como 1 (para evitar la inclusión de espacio adicional).

Los componentes de cliente del Servicio de datos remotos ya están incluidos como parte de Internet Explorer 4.0; Por lo tanto, no es necesario incluir un parámetro CODEBASE en RDS. Etiqueta de objeto DataControl .

Con Internet Explorer 4.0 o posterior, puede enlazar a datos mediante controles HTML y controles ActiveX solo si están marcados como controles de modelo de apartamento.

Nota:

Usuarios de Microsoft Visual BasicRDS. DataControl es seguro para el scripting y solo se usa en aplicaciones basadas en web. Una aplicación cliente de Visual Basic no tiene necesidad de ella.

Esta sección contiene el tema siguiente.

Véase también

Ejemplo de objeto DataControl (VBScript)