DataControl, objet (RDS)
Lie un Recordset de requête de données à un ou plusieurs contrôles (par exemple, une zone de texte, un contrôle de grille ou une zone de liste modifiable) pour afficher les données du Recordset sur une page Web.
Important
À compter de Windows 8 et Windows Server 2012, les composants serveur RDS ne sont plus inclus dans le système d’exploitation Windows (voir le Guide pratique sur la compatibilité de Windows Server 2012 et Windows 8 pour plus de détails). Les composants clients RDS seront supprimés dans une version ultérieure de Windows. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Les applications qui utilisent RDS doivent migrer vers WCF Data Service.
Syntaxe
<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>
Notes
ID de classe pour objet RDS.DataControl est BD96C556-65A3-11D0-983A-00C04FC29E33.
Remarque
Si vous obtenez une erreur indiquant qu’un objet RDS.DataSpace ou RDS.DataControl ne se charge pas, assurez-vous que vous utilisez l’ID de classe approprié. Les ID de classe pour ces objets ont changé de la version 1.0 et de la version 1.1. En outre, sachez que même les colonnes pouvant accepter la valeur Null doivent être définies lorsque vous utilisez l’objet DataControl RDS.
Pour un scénario de base, vous devez définir uniquement les propriétés SQL, Connect et Server des objets RDS.DataControl, qui appellent automatiquement l’objet métier par défaut RDSServer.DataFactory.
Toutes les propriétés dans RDS.DataControl sont facultatives, car les objets métier personnalisés peuvent remplacer leurs fonctionnalités.
Remarque
Si vous interrogez plusieurs résultats, seul le premier Recordset est retourné. Si plusieurs jeux de résultats sont nécessaires, affectez chacun à son propre DataControl. Voici un exemple de requête pour plusieurs résultats : "Select * from Authors, Select * from Topics"
Ajouter « DFMode=20; » à votre chaîne de connexion lorsque vous utilisez l’objet RDS.DataControl peut améliorer les performances de votre serveur lorsque vous mettez à jour les données. Avec ce paramètre, l’objet RDSServer.DataFactory sur le serveur utilise un mode moins gourmand en ressources. Toutefois, les fonctionnalités suivantes ne sont pas disponibles dans cette configuration :
Utilisation de paramètres paramétrables.
Obtention des informations de paramètre ou de colonne avant d’appeler la méthode Execute.
Définition Transact Updates sur True.
Obtention de l’état des lignes.
Appel de la méthode Resync.
Actualisation (explicitement ou automatiquement) via la propriété Update Resync.
Définition des propriétés d’un objet Command ou Recordset.
Utilisation de adCmdTableDirect.
L’objet RDS.DataControl s’exécute en mode asynchrone par défaut. Si vous avez besoin d’une exécution synchrone pour votre application, définissez le paramètre ExecuteOptions sur adcExecSync et le paramètre FetchOptions égal à adcFetchUpFront, comme illustré dans l’exemple suivant.
<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>
Utilisez un objet RDS.DataControl pour lier les résultats d’une requête unique à un ou plusieurs contrôles visuels. Par exemple, supposons que vous codez une requête demandant des données client telles que nom, résidence, lieu de naissance, âge et état du client prioritaire. Vous pouvez utiliser un objet RDS.DataControl pour afficher le nom, l’âge et la région d’un client dans trois zones de texte distinctes ; état du client prioritaire dans une case à cocher ; et toutes les données d’un contrôle grid.
Utilisez différents objets RDS.DataControl pour lier les résultats de plusieurs requêtes à différents contrôles visuels. Par exemple, supposons que vous utilisiez une requête pour obtenir des informations sur un client et une deuxième requête pour obtenir des informations sur les marchandises achetées par le client. Vous souhaitez afficher les résultats de la première requête dans trois zones de texte et une case à cocher, ainsi que les résultats de la deuxième requête dans un contrôle de grille. Si vous utilisez l’objet métier par défaut (RDSServer.DataFactory), vous devez effectuer les opérations suivantes :
Ajoutez deux objets RDS.DataControl sur votre page Web.
Écrivez deux requêtes, une pour chaque propriété SQL des deux objets RDS.DataControl. Un RDS. L’objet DataControl contient une requête SQL demandant des informations client ; la seconde contient une requête demandant une liste de marchandises achetée par le client.
Dans les balises OBJECT de chaque contrôle lié, spécifiez la valeur DATAFLD pour définir les valeurs des données que vous souhaitez afficher dans chaque contrôle visuel.
Il n’existe aucune restriction de nombre sur le nombre d’objets RDS.DataControl que vous pouvez incorporer à l’aide de balises OBJECT sur une seule page Web.
Lorsque vous définissez l’objet RDS.DataControl sur une page Web, utilisez des valeurs de hauteur et de largeur différente de zéro, telles que 1 (pour éviter l’inclusion d’espace supplémentaire).
Les composants clients du service de données distants sont déjà inclus dans Internet Explorer 4.0 ; Par conséquent, vous n’avez pas besoin d’inclure un paramètre CODEBASE dans votre balise d’objet RDS.DataControl.
Avec Internet Explorer 4.0 ou version ultérieure, vous pouvez lier des données à l’aide de contrôles HTML et de contrôles ActiveX uniquement s’ils sont marqués comme contrôles de modèle d’appartement.
Remarque
Utilisateurs Microsoft Visual BasicRdS. DataControl est sécurisé pour l’écriture de scripts et est utilisé uniquement dans les applications Web. Une application cliente Visual Basic n’a pas besoin de lui.
Cette section contient la rubrique suivante.