Condividi tramite


Oggetto DataControl (Servizi Desktop remoto)

Associa un Recordset di query sui dati a uno o più controlli (ad esempio una casella di testo, un controllo griglia o una casella combinata) per visualizzare i dati Recordset in una pagina Web.

Importante

A partire da Windows 8 e Windows Server 2012, i componenti del server di RDS non sono più inclusi nel sistema operativo Windows. Per maggiori dettagli, vedere la Guida di riferimento per la compatibilità di Windows 8 e Windows Server 2012. I componenti del client di RDS verranno rimossi in una versione futura di Windows. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Le applicazioni che usano RDS devono eseguire la migrazione a WCF Data Service.

Sintassi

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

Osservazioni:

L'ID della classe per l'oggetto RDS.DataControl è BD96C556-65A3-11D0-983A-00C04FC29E33.

Nota

Se si riceve un messaggio di errore indicante che un oggetto RDS.DataSpace o RDS.DataControl non viene caricato, assicurarsi di usare l'ID classe corretto. Gli ID classe per questi oggetti sono cambiati rispetto alle versioni 1.0 e 1.1. Tenere inoltre presente che quando si usa l'oggetto RDS DataControl, è necessario impostare anche le colonne che ammettono valori Null.

Per uno scenario di base, è necessario impostare solo le proprietà SQL, Connect e Server dell'oggetto RDS.DataControl, che chiamerà automaticamente l'oggetto business predefinito RDSServer.DataFactory.

Tutte le proprietà di RDS.DataControl sono facoltativi perché le relative funzionalità possono essere sostituite da oggetti business personalizzati.

Nota

Se si esegue una query per trovare più risultati, viene restituito solo il primo Recordset. Se sono necessari più set di risultati, assegnare ognuno il proprio oggetto DataControl. Un esempio di query per trovare più risultati può essere il seguente: "Select * from Authors, Select * from Topics"

L'aggiunta di "DFMode=20;" alla stringa di connessione quando si usa l'oggetto RDS.DataControl consente di migliorare le prestazioni del server quando si aggiornano i dati. Con questa impostazione, l'oggetto RDSServer.DataFactory nel server usa una modalità con un utilizzo meno intensivo delle risorse. Tuttavia, le funzionalità seguenti non sono disponibili in questa configurazione:

  • Uso di query con parametri.

  • Recupero di informazioni sui parametri o sulle colonne prima di chiamare il metodo Execute.

  • Impostazione di Transact Updates su True.

  • Recupero dello stato della riga.

  • Chiamata al metodo Resync.

  • Aggiornamento (in modo esplicito o automatico) tramite la proprietà Update Resync.

  • Impostazione delle proprietà Command o Recordset.

  • Uso di adCmdTableDirect.

L'oggetto RDS.DataControl viene eseguito in modalità asincrona per impostazione predefinita. Se è necessaria l'esecuzione sincrona per l'applicazione, impostare il parametro ExecuteOptions uguale a adcExecSync e il parametro FetchOptions uguale a adcFetchUpFront, come illustrato nell'esempio seguente.

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

Usare un oggetto RDS.DataControl per collegare i risultati di una singola query a uno o più controlli visivi. Si supponga, ad esempio, di scrivere il codice di una query che richiede dati del cliente, come nome, residenza, luogo di nascita, età e stato cliente prioritario. È possibile usare un singolo oggetto RDS.DataControl per visualizzare il nome, l'età e l'area di un cliente in tre caselle di testo separate, lo stato cliente prioritario in una casella di controllo e tutti i dati in un controllo griglia.

Usare oggetti RDS.DataControl diversi per collegare i risultati di più query a controlli visivi diversi. Si supponga, ad esempio, di usare una query per ottenere informazioni su un cliente e una seconda query per ottenere informazioni sulla merce acquistata dal cliente. Si vogliono visualizzare i risultati della prima query in tre caselle di testo e una casella di controllo e i risultati della seconda query in un controllo griglia. Se si usa l'oggetto business predefinito (RDSServer.DataFactory), è necessario eseguire le operazioni seguenti:

  • Aggiungere due oggetti RDS.DataControl nella pagina Web.

  • Scrivere due query, una per ogni proprietà SQL dei due oggetti RDS.DataControl. Un servizio Desktop remoto. L'oggetto DataControl conterrà una query SQL che richiede informazioni sul cliente. La seconda conterrà una query che richiede un elenco di merci acquistate dal cliente.

  • Nei tag OBJECT di ogni controllo associato specificare il valore DATAFLD per impostare i valori per i dati da visualizzare in ogni controllo visivo.

Non esistono restrizioni per il numero di oggetti RDS.DataControl che è possibile incorporare usando tag OBJECT in una singola pagina Web.

Quando si definisce l'oggetto RDS.DataControl in una pagina Web, usare valori diversi da zero per Height e Width, ad esempio 1, per evitare l'inserimento di uno spazio aggiuntivo.

I componenti client di Remote Data Service sono già inclusi come parte di Internet Explorer 4.0; pertanto, non è necessario includere un parametro CODEBASE nel tag dell'oggetto RDS.DataControl.

Con Internet Explorer 4.0 o versione successiva, è possibile eseguire il binding ai dati usando controlli HTML e controlli ActiveX solo se sono contrassegnati come controlli del modello apartment.

Nota

Utenti di Microsoft Visual Basic L'oggetto RDS.DataControl è sicuro per la generazione di script e viene usato solo nelle applicazioni basate sul Web. Non è necessario per le applicazioni client di Visual Basic.

In questa sezione viene trattato l'argomento seguente.

Vedi anche

Esempio di oggetto DataControl (VBScript)