Compartilhar via


Objeto DataControl (RDS)

Associa um Recordset de consulta de dados a um ou mais controles (por exemplo, uma caixa de texto, controle de grade ou caixa de combinação) para exibir os dados do Recordset em uma página da Web.

Importante

A partir do Windows 8 e do Windows Server 2012, os componentes do servidor RDS não estão mais incluídos no sistema operacional Windows (confira Windows 8 e Manual de Compatibilidade do Windows Server 2012 para obter mais detalhes). Os componentes do cliente RDS serão removidos em uma versão futura do Windows. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Os aplicativos que usam o RDS devem migrar para o Serviço de Dados do WCF.

Sintaxe

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

Comentários

A ID da classe para o objeto RDS.DataControl é BD96C556-65A3-11D0-983A-00C04FC29E33.

Observação

Se você receber um erro informando que um objeto RDS.DataSpace ou RDS.DataControl não é carregado, verifique se você está usando a ID da classe correta. As IDs da classe para esses objetos foram alteradas nas versões 1.0 e 1.1. Além disso, lembre-se de que até mesmo colunas anuláveis devem ser definidas, quando você usa o objeto RDS DataControl.

Para um cenário básico, você precisa definir apenas as propriedades SQL, Connect e Server do objeto RDS.DataControl, que chamará automaticamente o objeto de negócios padrão, RDSServer.DataFactory.

Todas as propriedades no RDS.DataControl são opcionais, pois os objetos de negócios personalizados podem substituir sua funcionalidade.

Observação

Se você consultar vários resultados, somente o primeiro Recordset será retornado. Se forem necessários vários conjuntos de resultados, atribua cada um a seu próprio DataControl. Um exemplo de uma consulta para vários resultados pode ser o seguinte: "Select * from Authors, Select * from Topics"

Adicionar "DFMode=20;" à cadeia de conexão ao usar o objeto RDS.DataControl pode melhorar o desempenho do servidor ao atualizar os dados. Com essa configuração, o objeto RDSServer.DataFactory no servidor usa um modo menos intensivo de recursos. No entanto, os seguintes recursos não estão disponíveis nesta configuração:

  • Uso de consultas parametrizadas.

  • Obter informações de parâmetro ou coluna antes de chamar o método Execute.

  • Definindo Atualizações de transações como True.

  • Obtendo o status da linha.

  • Chamando o método Resync.

  • Atualizando (explicitamente ou automaticamente) por meio da propriedade Atualizar Resync.

  • Definindo propriedades Command ou Conjunto de registros.

  • Usando adCmdTableDirect.

O objeto RDS.DataControl é executado no modo assíncrono por padrão. Se você precisar de execução síncrona para o aplicativo, defina o parâmetro ExecuteOptions igual a adcExecSync e o parâmetro FetchOptions igual a adcFetchUpFront, conforme mostrado no exemplo a seguir.

<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 um objeto RDS.DataControl para vincular os resultados de uma única consulta a um ou mais controles visuais. Por exemplo, suponha que você codifique uma consulta solicitando dados do cliente, como Nome, Residência, Local de Nascimento, Idade e Status do Cliente de Prioridade. Você pode usar um único objeto RDS.DataControl para exibir o nome, a idade e a região de um cliente em três caixas de texto separadas, o Status do Cliente de Prioridade em uma caixa de seleção e todos os dados em um controle de grade.

Use diferentes objetos RDS.DataControl para vincular os resultados de várias consultas a controles visuais diferentes. Por exemplo, suponha que você use uma consulta para obter informações sobre um cliente e uma segunda consulta para obter informações sobre a mercadoria adquirida. Convém exibir os resultados da primeira consulta em três caixas de texto e uma caixa de seleção e os resultados da segunda consulta em um controle de grade. Se você usar o objeto de negócios padrão (RDSServer.DataFactory), deve fazer o seguinte:

  • Adicione dois objetos RDS.DataControl à página da Web.

  • Grave duas consultas, uma para cada propriedade SQL dos dois objetos RDS.DataControl. Um RDS. DataControl conterá uma consulta SQL solicitando informações do cliente; o segundo conterá uma consulta solicitando uma lista de mercadorias que o cliente comprou.

  • Nas marcas OBJECT de cada controle associado, especifique o valor DATAFLD para definir os valores para os dados que você deseja exibir em cada controle visual.

Não há restrições de contagem no número de objetos RDS.DataControl que você pode inserir usando marcas OBJECT em uma única página da Web.

Ao definir o objeto RDS.DataControl em uma página da Web, use valores de altura e largura diferente de zero, como 1 (para evitar a inclusão de espaço adicional).

Os componentes do cliente do Serviço de Dados Remoto já estão incluídos como parte do Internet Explorer 4.0. Portanto, você não precisa incluir um parâmetro CODEBASE na marca de objeto RDS.DataControl.

Com o Internet Explorer 4.0 ou posterior, você pode associar dados usando controles HTML e controles ActiveX somente se eles estiverem marcados como controles de modelo de apartamento.

Observação

Usuários do Microsoft Visual Basic O RDS.DataControl é seguro para scripts e é usado apenas em aplicativos baseados na Web. Um aplicativo cliente do Visual Basic não precisa dele.

Esta seção contém o tópico a seguir.

Confira também

Exemplo do objeto DataControl (VBScript)