Freigeben über


DataControl-Objekt (RDS)

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

Wichtig

Ab Windows 8 und Windows Server 2012 sind RDS-Serverkomponenten nicht mehr im Windows-Betriebssystem enthalten (weitere Details finden Sie unter Windows 8 und Windows Server 2012 Compatibility Cookbook). RDS-Clientkomponenten werden in einer zukünftigen Version von Windows entfernt. Vermeiden Sie die Verwendung dieses Features in neuer Entwicklungsarbeit, und planen Sie, Anwendungen zu ändern, die derzeit dieses Feature verwenden. Anwendungen, die RDS verwenden, sollten zu WCF Data Servicemigrieren.

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>  

Bemerkungen

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

Anmerkung

Wenn sie eine Fehlermeldung erhalten, dass ein RDS. DataSpace oder RDS. DataControl-Objekt wird nicht geladen, stellen Sie sicher, dass Sie die richtige Klassen-ID verwenden. Die Klassen-IDs für diese Objekte wurden von Version 1.0 und 1.1 geändert. Beachten Sie außerdem, dass selbst nullfähige 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 festlegen. DataControl-Objekt, das automatisch das Standardgeschäftsobjekt aufruft, RDSServer.DataFactory.

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

Anmerkung

Wenn Sie mehrere Ergebnisse abfragen, wird nur das erste Recordset- zurückgegeben. Wenn mehrere Resultsets erforderlich sind, weisen Sie jedem einen eigenen DataControl-zu. Ein Beispiel für eine Abfrage für mehrere Ergebnisse könnte folgendes sein: "Select * from Authors, Select * from Topics"

Hinzufügen von "DFMode=20;" zur Verbindungszeichenfolge, wenn Sie das RDS verwenden. DataControl-Objekt kann die Leistung ihres Servers verbessern, wenn Sie Daten aktualisieren. Bei 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 Transact-Updates auf True.

  • Abrufen des Zeilenstatus.

  • Aufrufen der Resync--Methode.

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

  • Festlegen Eigenschaften "Command" oder Recordset-.

  • 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 parameter ExecuteOptions auf adcExecSync- und den parameter FetchOptions gleich adcFetchUpFront, 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 codierten eine Abfrage, die Kundendaten anfordert, z. B. Name, Aufenthaltsort, Geburtsdatum, Alter und Priorität kundenstatus. Sie können ein einzelnes RDS verwenden. DataControl Objekt, um den Namen, das Alter und die Region eines Kunden in drei separaten Textfeldern anzuzeigen; Priorität Kundenstatus in einem Kontrollkästchen; und alle Daten in einem Rastersteuerelement.

Verwenden Sie unterschiedliche 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 abzurufen, und eine zweite Abfrage, um Informationen zu Waren zu erhalten, die der Kunde erworben hat. Sie möchten die Ergebnisse der ersten Abfrage in drei Textfeldern und einem Kontrollkästchen und den Ergebnissen der zweiten Abfrage in einem Rastersteuerelement anzeigen. Wenn Sie das Standardgeschäftsobjekt (RDSServer.DataFactory) verwenden, müssen Sie folgendes ausführen:

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

  • 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 der Waren anfordert, die der Kunde gekauft 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 Zählungseinschränkung für die Anzahl der RDS. DataControl Objekte, die Sie mithilfe von OBJECT-Tags auf einer einzelnen Webseite einbetten können.

Wenn Sie das RDS definieren. DataControl-Objekt auf einer Webseite, verwenden Sie nonzero Height und Width Werte wie 1 (um die Aufnahme von zusätzlichem Leerzeichen zu vermeiden).

Remote Data Service-Clientkomponenten sind bereits bestandteil von Internet Explorer 4.0; Daher müssen Sie keinen CODEBASE-Parameter in Ihr RDS einschließen. DataControl Objekttag.

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.

Anmerkung

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

Dieser Abschnitt enthält das folgende Thema.

Siehe auch

DataControl-Objekt (Beispiel) (VBScript)