Freigeben über


DataControl-Objekt (RDS)

Bindet ein Datenabfrage-Recordset an ein oder mehrere Steuerelemente (z. B. ein Textfeld, ein Rastersteuerelement oder ein Kombinationsfeld), um die Recordset-Daten auf einer Webseite anzuzeigen.

Wichtig

Ab Windows 8 und Windows Server 2012 sind RDS-Serverkomponenten nicht mehr im Windows-Betriebssystem enthalten (weitere Informationen finden Sie in den jeweiligen Kompatibilitäts-Cookbooks zu Windows 8 und Windows Server 2012). RDS-Clientkomponenten werden in einer zukünftigen Version von Windows entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Anwendungen, die RDS verwenden, sollten zu WCF Data Service migriert werden.

Syntax

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

Hinweise

Die Klassen-ID für das RDS.DataControl-Objekt lautet BD96C556-65A3-11D0-983A-00C04FC29E33.

Hinweis

Wenn ein Fehler angezeigt wird, dass ein RDS.DataSpace- oder RDS.DataControl-Objekt nicht geladen wird, stellen Sie sicher, dass Sie die richtige Klassen-ID verwenden. Die Klassen-IDs für diese Objekte haben sich gegenüber Version 1.0 und 1.1 geändert. Beachten Sie außerdem, dass selbst Nullwerte zulassende Spalten festgelegt werden müssen, wenn Sie das RDS.DataControl-Objekt verwenden.

Für ein einfaches Szenario müssen Sie nur die SQL-, Connect- und Server-Eigenschaften des RDS.DataControl-Objekts festlegen, das automatisch das Standardgeschäftsobjekt RDSServer.DataFactory aufruft.

Alle Eigenschaften im RDS.DataControl-Objekt sind optional, da benutzerdefinierte Geschäftsobjekte deren Funktionalität ersetzen können.

Hinweis

Wenn Sie mehrere Ergebnisse abfragen, wird nur das erste Recordset zurückgegeben. Wenn mehrere Resultsets erforderlich sind, weisen Sie jedes einem eigenen DataControl-Objekt zu. Ein Beispiel für eine Abfrage mehrerer Ergebnisse könnte wie folgt lauten: "Select * from Authors, Select * from Topics"

Wenn Sie bei Verwendung des RDS.DataControl-Objekts Ihrer Verbindungszeichenfolge „DFMode=20“ hinzufügen, kann dies die Leistung Ihres Servers verbessern, wenn Sie Daten aktualisieren. Mit dieser Einstellung verwendet das RDSServer.DataFactory-Objekt auf dem Server einen weniger ressourcenintensiven Modus. Die folgenden Features sind in dieser Konfiguration jedoch nicht verfügbar:

  • Verwenden parametrisierter Abfragen.

  • Abrufen von Parameter- oder Spalteninformationen vor dem Aufrufen der Execute-Methode.

  • Festlegen von Transact Updates auf True.

  • Abrufen des Zeilenstatus.

  • Aufrufen der Resync-Methode.

  • Aktualisieren (explizit oder automatisch) über die Update Resync-Eigenschaft.

  • Festlegen von Command- oder Recordset-Eigenschaften.

  • Verwenden von adCmdTableDirect.

Das RDS.DataControl-Objekt wird standardmäßig im asynchronen Modus ausgeführt. Wenn Sie eine synchrone Ausführung für Ihre Anwendung benötigen, legen Sie den ExecuteOptions-Parameter auf adcExecSync und den FetchOptions-Parameter gleich adcFetchUpFront fest, wie im folgenden Beispiel gezeigt.

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

Verwenden Sie ein RDS.DataControl-Objekt, um die Ergebnisse einer einzelnen Abfrage mit einem oder mehreren visuellen Steuerelementen zu verknüpfen. Angenommen, Sie programmieren eine Abfrage, die Kundendaten anfordert wie Name, Wohnort, Geburtsort, Alter und Prioritätskundenstatus. Sie können ein einzelnes RDS.DataControl-Objekt verwenden, um den Namen, das Alter und die Region eines Kunden in drei separaten Textfeldern anzuzeigen, den Prioritätskundenstatus in einem Kontrollkästchen und alle Daten in einem Rastersteuerelement.

Verwenden Sie verschiedene RDS.DataControl-Objekte, um die Ergebnisse mehrerer Abfragen mit verschiedenen visuellen Steuerelementen zu verknüpfen. Angenommen, Sie verwenden eine Abfrage, um Informationen zu einem Kunden zu erhalten, und eine zweite Abfrage, um Informationen über Waren zu erhalten, die der Kunde erworben hat. Sie möchten die Ergebnisse der ersten Abfrage in drei Textfeldern und einem Kontrollkästchen und die Ergebnisse der zweiten Abfrage in einem Rastersteuerelement anzeigen. Wenn Sie das Standardgeschäftsobjekt (RDSServer.DataFactory) verwenden, müssen Sie Folgendes ausführen:

  • Fügen Sie Ihrer Webseite zwei RDS.DataControl-Objekte hinzu.

  • Schreiben Sie zwei Abfragen, eine für jede SQL-Eigenschaft der beiden RDS.DataControl-Objekte. Ein RDS. DataControl-Objekt enthält eine SQL-Abfrage, die Kundeninformationen anfordert. Die zweite enthält eine Abfrage, die eine Liste von Waren anfordert, die der Kunde erworben hat.

  • Geben Sie in den OBJECT-Tags jedes gebundenen Steuerelements den DATAFLD-Wert an, um die Werte für die Daten festzulegen, die in jedem visuellen Steuerelement angezeigt werden sollen.

Es gibt keine Einschränkung der Anzahl von RDS.DataControl-Objekten, die Sie mithilfe von OBJECT-Tags auf einer einzelnen Webseite einbetten können.

Wenn Sie das RDS.DataControl-Objekt auf einer Webseite definieren, verwenden Sie Height- und Width-Werte ungleich Null wie beispielsweise 1 (um die Einbeziehung zusätzlichen Leerraums zu vermeiden).

Remote Data Service-Clientkomponenten sind bereits als Bestandteil von Internet Explorer 4.0 enthalten, weshalb Sie keinen CODEBASE-Parameter in Ihr RDS.DataControl-Objekttag aufnehmen müssen.

Mit Internet Explorer 4.0 oder höher können Sie eine Bindung an Daten mithilfe von HTML-Steuerelementen und ActiveX-Steuerelementen nur dann herstellen, wenn sie als Apartmentmodellsteuerelemente gekennzeichnet sind.

Hinweis

Microsoft Visual Basic-Benutzer Das RDS.DataControl-Objekt ist für die Skripterstellung sicher und wird nur in webbasierten Anwendungen verwendet. Eine Visual Basic-Clientanwendung benötigt es nicht.

Dieser Abschnitt enthält das folgende Thema:

Weitere Informationen

DataControl-Objekt – Beispiel (VBScript)