Freigeben über


Verwaltete SQLXML-Klassen – SqlXmlCommand-Objekt

Gilt für:SQL ServerAzure SQL-Datenbank

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

public SqlXmlCommand(string cnString)  

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

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

Ein funktionierendes Beispiel finden Sie unter Ausführen von SQL-Abfragen (SQLXML Managed Classes).

Methoden

DasSqlXmlCommand-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 funktionierendes Beispiel finden Sie unter Ausführen von SQL-Abfragen (SQLXML Managed Classes).

public void ExecuteToStream(Stream outputStream)
Schreibt die Abfrageergebnisse in einen vorhandenen Datenstrom. Diese Methode ist nützlich, wenn Sie über einen Stream verfügen, an den die Ergebnisse angefügt werden müssen (z. B. damit die Abfrageergebnisse in System.Web.HttpResponse.OutputStream geschrieben werden). Ein funktionierendes Beispiel finden Sie unter Ausführen von SQL-Abfragen (SQLXML Managed Classes).

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

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

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

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 auch 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. Wenn der Pfad relativ ist, wird der unter Basispfad angegebene Basispfad verwendet, um den relativen Pfad aufzulösen. Wird kein Basispfad angegeben, ist der relative Pfad relativ zum aktuellen Verzeichnis. Ein funktionierendes Beispiel finden Sie unter Zugreifen auf SQLXML-Funktionen in der .NET-Umgebung.

XslPath
Der Name der XSL-Datei, einschließlich des Verzeichnispfads. Der angegebene Pfad kann relativ oder absolut sein. Wenn der Pfad relativ ist, wird der unter Basispfad angegebene Basispfad verwendet, um den relativen Pfad aufzulösen. Wird kein Basispfad angegeben, ist der relative Pfad relativ zum aktuellen Verzeichnis. Ein funktionierendes Beispiel finden Sie unter Anwenden einer XSL-Transformation (verwaltete SQLXML-Klassen).

Basispfad
Der Basispfad (ein Verzeichnispfad). Diese Eigenschaft ist nützlich, um einen relativen Pfad aufzulösen, der für eine XSL-Datei (mithilfe der XslPath-Eigenschaft), einer Zuordnungsschemadatei (mithilfe der SchemaPath-Eigenschaft) oder einem externen Schemaverweis in einer XML-Vorlage (mit dem Attribut mapping-schema angegeben) angegeben wird.

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. UTF-8 ist die Standardcodierung.

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 (SQLXML Managed Classes). Ein funktionierendes Beispiel finden Sie unter Ausführen von XPath-Abfragen (SQLXML Managed Classes).

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 funktionierendes Beispiel 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 funktionierendes Beispiel finden Sie unter Ausführen von SQL-Abfragen (SQLXML Managed Classes).

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 CommandType-Werte "Template", "UpdateGram" und "DiffGram" unterstützt. Ein funktionierendes Beispiel finden Sie unter Ausführen von Vorlagendateien mithilfe 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 funktionierendes Beispiel finden Sie unter Zugreifen auf SQLXML-Funktionen 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[@EmployeeID=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.

Weitere Informationen

SqlXmlParameter-Objekt (verwaltete SQLXML-Klassen)
SqlXmlAdapter-Objekt (Verwaltete SQLXML-Klassen)