Objeto DataControl (RDS)

Enlaza un objeto Recordset de consulta de datos 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 objeto Recordset 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 (para obtener más información, consulte Windows 8 y la Guía de compatibilidad de Windows Server 2012, edición Cookbook). Los componentes de cliente de RDS se eliminará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 al servicio de datos WCF.

Sintaxis

  
<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>  

Comentarios

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

Nota:

Si recibe un error que indica que un objeto RDS.DataSpace o RDS.DataControl no se carga, asegúrese de que está usando 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 admiten un valor NULL deben establecerse al usar el objeto RDS DataControl.

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

Todas las propiedades de RDS.DataControl son opcionales porque los objetos de negocios 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 objeto 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 cuando se usa el objeto RDS.DataControl puede mejorar el rendimiento del servidor al actualizar los datos. Con esta configuración, el objeto RDSServer.DataFactory del 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.

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

  • Establecer Transact Updates en True.

  • Obtener el estado de fila.

  • Llamar al método Resync.

  • Actualizar (explícita o automáticamente) a través de la propiedad Actualizar resincronización.

  • Establecer las propiedades Command o Recordset.

  • Usar adCmdTableDirect.

El objeto RDS.DataControl se ejecuta en modo asincrónico de forma predeterminada. Si necesita una 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=MyPassword;">  
   <PARAM NAME="Server" VALUE="https://awebsrvr">  
   <PARAM NAME="SQL" VALUE="QueryText">  
   <PARAM NAME="ExecuteOptions" VALUE="1">   <PARAM NAME="FetchOptions" VALUE="1">  
</OBJECT>  

Use un objeto RDS.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 cliente como Nombre, Residencia, Lugar de nacimiento, Edad y Estado de cliente prioritario. Puede usar un único objeto RDS.DataControl para mostrar el nombre, la 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 objetos RDS.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 negocios predeterminado (RDSServer.DataFactory), debe hacer lo siguiente:

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

  • Escriba dos consultas, una para cada propiedad SQL de los dos objetos RDS.DataControl. Un objeto RDS.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 en cuanto al número de objetos RDS.DataControl que se pueden insertar mediante etiquetas OBJECT en una sola página web.

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

Los componentes cliente del Servicio de datos remotos ya están incluidos en Internet Explorer 4.0; por lo tanto, no es necesario incluir un parámetro CODEBASE en la etiqueta del objeto RDS.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 Basic El objeto RDS.DataControl es seguro para el scripting y solo se usa en aplicaciones basadas en Web. Una aplicación cliente de Visual Basic no lo necesita.

Esta sección contiene el tema siguiente.

Consulte también

Ejemplo del objeto DataControl (VBScript)