Freigeben über


SqlXmlCommand-Objekt (Verwaltete SQLXML-Klassen)

Dies ist der Konstruktor für das SqlXmlCommand-Objekt:

public SqlXmlCommand(string cnString)

Wobei cnString der ADO- oder OLEDB-Verbindungszeichenfolge entspricht, die den Server, die Datenbank und die Anmeldeinformationen identifiziert, z. B. Provider=SQLOLEDB; Server=(local); database=AdventureWorks2008R2; Integrated Security=SSPI".

In der Verbindungszeichenfolge muss für den Provider SQLOLEDB festgelegt werden, und Data Provider sollte nicht in der Anbieterzeichenfolge enthalten sein.

Ein funktionstüchtiges Beispiel hierzu finden Sie unter Ausführen von SQL-Abfragen (verwaltete SQLXML-Klassen).

Methoden

Das SqlXmlCommand-Objekt unterstützt mehrere Methoden, einschließlich der folgenden Methoden zum Ausführen eines Befehls:

  • void ExecuteNonQuery()
    Führt den Befehl aus, gibt aber nichts zurück. Diese Methode ist nützlich, wenn Sie einen Nichtabfragebefehl ausführen möchten (ein Befehl, der nichts zurückgibt). Ein Beispiel ist das Ausführen eines Updategrams oder DiffGrams, das Datensätze aktualisiert, aber nichts zurückgibt.

  • Stream ExecuteStream()
    Gibt ein neues Stream-Objekt zurück. Diese Methode ist nützlich, wenn Sie möchten, dass Ihnen die Abfrageergebnisse in einem neuen Datenstrom zurückgegeben werden. Ein funktionstüchtiges Beispiel hierzu finden Sie unter Ausführen von SQL-Abfragen (verwaltete SQLXML-Klassen).

  • public void ExecuteToStream(Stream outputStream)
    Schreibt die Abfrageergebnisse in einen vorhandenen Datenstrom. Diese Methode ist nützlich, wenn Sie einen Datenstrom haben, an den Sie Ergebnisse anhängen müssen (beispielsweise damit die Abfrageergebnisse in System.Web.HttpResponse.OutputStream geschrieben werden). Ein funktionstüchtiges Beispiel hierzu finden Sie unter Ausführen von SQL-Abfragen (verwaltete SQLXML-Klassen).

  • XmlReader ExecuteXmlReader()
    Gibt ein XmlReader-Objekt zurück. Sie können diese Methode verwenden, um Daten direkt im XmlReader-Objekt zu bearbeiten oder um die Kettenarchitektur von System.Xml zu nutzen. Weitere Informationen finden Sie in der Microsoft .NET Framework-Dokumentation. Ein funktionstüchtiges Beispiel hierzu finden Sie unter Ausführen von SQL-Abfragen mithilfe der 'ExecuteXMLReader'-Methode.

Das SqlXmlCommand-Objekt unterstützt auch die folgenden zusätzlichen Methoden:

  • SqlXmlParameter CreateParameter()
    Erstellt ein SqlXmlParameter-Objekt. Sie können Werte für den Name- und den Value-Parameter dieses Objekts festlegen. Diese Methode ist nützlich, wenn Sie Parameter an einen Befehl übergeben möchten. Ein funktionstüchtiges Beispiel hierzu finden Sie unter Ausführen von SQL-Abfragen (verwaltete SQLXML-Klassen).

  • void ClearParameters()
    Löscht Parameter, die für ein angegebenes Befehlsobjekt erstellt wurden. Diese Methode ist nützlich, wenn Sie mehrere Abfragen für das gleiche Befehlsobjekt ausführen möchten.

Eigenschaften

Das SqlXmlCommand-Objekt unterstützt außerdem die folgenden Eigenschaften:

  • ClientSideXml
    Legen Sie diese Eigenschaft auf True fest, wenn die Konvertierung des Rowsets in XML statt auf dem Server auf dem Client erfolgen soll. Diese Eigenschaft ist nützlich, wenn Sie die Ladeleistungslast auf die mittlere Ebene verschieben möchten. Die Eigenschaft ermöglicht außerdem das Verwenden der vorhandenen gespeicherten Prozeduren als Wrapper mit FOR XML, um eine XML-Ausgabe zu erhalten.

  • SchemaPath
    Der Name des Zuordnungsschemas zusammen mit dem Verzeichnispfad (z. B. C:\x\y\MySchema.xml). Diese Eigenschaft ist nützlich, um ein Zuordnungsschema für XPath-Abfragen anzugeben. Der angegebene Pfad kann relativ oder absolut sein. Wird ein relativer Pfad angegeben, wird der von der Base Path-Eigenschaft angegebene Basispfad zur Auflösung des relativen Pfads verwendet. Wird kein Basispfad angegeben, ist der relative Pfad relativ zum aktuellen Verzeichnis. Ein funktionstüchtiges Beispiel hierzu finden Sie unter Zugreifen auf die SQLXML-Funktionalität in der .NET-Umgebung.

  • XslPath
    Der Name der XSL-Datei, einschließlich des Verzeichnispfads. Der angegebene Pfad kann relativ oder absolut sein. Wird ein relativer Pfad angegeben, wird der von der Base Path-Eigenschaft angegebene Basispfad zur Auflösung des relativen Pfads verwendet. Wird kein Basispfad angegeben, ist der relative Pfad relativ zum aktuellen Verzeichnis. Ein funktionstüchtiges Beispiel hierzu finden Sie unter Anwenden einer XSL-Transformation (Verwaltete SQLXML-Klassen).

  • Base Path
    Der Basispfad (ein Verzeichnispfad). Diese Eigenschaft ist nützlich zum Auflösen eines relativen Pfads, der für eine XSL-Datei angegeben wird (mithilfe der XslPath-Eigenschaft), einer Zuordnungsschemadatei (mithilfe der SchemaPath-Eigenschaft) oder einer externen Schemareferenz in einer XML-Vorlage (angegeben durch das mapping-schema-Attribut).

  • OutputEncoding
    Gibt die Codierung für den Datenstrom an, der zurückgegeben wird, wenn der Befehl ausgeführt wird. Diese Eigenschaft ist nützlich, um eine bestimmte Codierung für den Datenstrom anzufordern, der zurückgegeben wird. Einige häufig verwendete Codierungen sind UTF-8, ANSI und Unicode. Die Standardcodierung ist UTF-8.

  • Namespaces
    Ermöglicht die Ausführung von XPath-Abfragen, die Namespaces verwenden. Weitere Informationen zu XPath-Abfragen mit Namespaces finden Sie unter Ausführen von XPath-Abfragen mit Namespaces (Verwaltete SQLXML-Klassen). Ein funktionstüchtiges Beispiel hierzu finden Sie unter Ausführen von XPath-Abfragen (verwaltete SQLXML-Klassen).

  • RootTag
    Stellt das einzelne Stammelement für von der Befehlsausführung generiertes XML bereit. Ein gültiges XML-Dokument erfordert ein einzelnes Tag auf der Stammebene. Wenn der ausgeführte Befehl ein XML-Fragment generiert (ohne einzelnes Element höchster Ebene), können Sie ein Stammelement für das zurückgebende XML angeben. Ein funktionstüchtiges Beispiel hierzu finden Sie unter Anwenden einer XSL-Transformation (Verwaltete SQLXML-Klassen).

  • CommandText
    Der Text des Befehls. Diese Eigenschaft wird zum Angeben des Texts des Befehls verwendet, den Sie ausführen möchten. Ein funktionstüchtiges Beispiel hierzu finden Sie unter Ausführen von SQL-Abfragen (verwaltete SQLXML-Klassen).

  • CommandStream
    Der Befehlsdatenstrom. Diese Eigenschaft ist nützlich, wenn Sie einen Befehl aus einer Datei ausführen möchten (z. B. aus einer XML-Vorlage). Wenn Sie CommandStream verwenden, werden nur die Werte "Template", "UpdateGram" und "DiffGram"CommandType unterstützt. Ein funktionstüchtiges Beispiel hierzu finden Sie unter Ausführen von Vorlagendateien mit der 'CommandStream'-Eigenschaft.

  • CommandType
    Gibt den Befehlstyp an. Diese Eigenschaft wird zum Angeben des Typs des Befehls verwendet, den Sie ausführen möchten. Die Werte in der folgenden Tabelle bestimmen den Typ des Befehls. Ein funktionstüchtiges Beispiel hierzu finden Sie unter Zugreifen auf die SQLXML-Funktionalität in der .NET-Umgebung.

    Wert

    Beschreibung

    SqlXmlCommandType.Sql

    Führt einen SQL-Befehl aus (z. B. SELECT * FROM Employees FOR XML AUTO).

    SqlXmlCommandType.XPath

    Führt einen XPath-Befehl aus (z. B. Employees[@BusinessEntityID=1]).

    SqlXmlCommandType.Template

    Führt eine XML-Vorlage aus.

    SqlXmlCommandType.TemplateFile

    Führt eine Vorlagendatei im angegebenen Pfad aus.

    SqlXmlCommandType.UpdateGram

    Führt ein Updategram aus.

    SqlXmlCommandType.Diffgram

    Führt ein DiffGram aus.