Freigeben über


Ausführen von Befehlen in einer DB2-Datenbank

Das Microsoft.HostIntegration.MsDb2Client.MsDb2Command -Objekt macht mehrere Execute Methoden verfügbar, mit denen Sie die beabsichtigte Aktion ausführen können. Wenn Sie Ergebnisse als Datenstrom zurückgeben, verwenden Sie Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteReader%2A , um ein DataReader Objekt zurückzugeben. Verwenden Sie Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteScalar%2A , um einen Singletonwert zurückzugeben. Verwenden Sie Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteNonQuery%2A zum Ausführen von Befehlen, die keine Zeilen zurückgeben.

Verwenden von MsDb2Command mit gespeicherten Prozeduren

Wenn Sie das Microsoft.HostIntegration.MsDb2Client.MsDb2Command -Objekt mit einer gespeicherten Prozedur verwenden, können Sie die CommandType -Eigenschaft des MsDb2Command -Objekts auf StoredProcedurefestlegen. Mit einem CommandType von StoredProcedurekönnen Sie die Parameters -Eigenschaft von Command verwenden, um auf Eingabe- und Ausgabeparameter zuzugreifen und Werte zurückzugeben. Auf die Parameters -Eigenschaft kann unabhängig von der aufgerufenen Execute Methode zugegriffen werden. Wenn Sie jedoch aufrufen Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteReader%2A, kann nicht auf Rückgabewerte und Ausgabeparameter zugegriffen werden, bis die DataReader geschlossen ist.

Beachten Sie, dass SQL-Anweisungen, die Daten ändern (z INSERT. B. , UPDATEoder DELETE), keine Zeilen zurückgeben. Ähnlich verhält es sich mit vielen gespeicherten Prozeduren, die zwar eine Aktion durchführen, jedoch keine Zeilen zurückgeben. Um Befehle auszuführen, die keine Zeilen zurückgeben, erstellen Sie ein MsDb2Command Objekt mit dem entsprechenden SQL-Befehl und einem Microsoft.HostIntegration.MsDb2Client.MsDb2Connection, einschließlich aller erforderlichen Microsoft.HostIntegration.MsDb2Client.MsDb2Parameters. Führen Sie den Befehl mithilfe der ExecuteNonQuery -Methode des Microsoft.HostIntegration.MsDb2Client.MsDb2Command -Objekts aus. Die Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteNonQuery%2A Methode gibt eine ganze Zahl zurück, die die Anzahl der Zeilen darstellt, die von der ausgeführten Anweisung oder gespeicherten Prozedur betroffen sind. Wenn mehrere Anweisungen ausgeführt werden, ist der zurückgegebene Wert die Summe der Datensätze, die von allen ausgeführten Anweisungen betroffen sind.

Ändern von Datenbanken und Katalogen

Um einen Befehl zum Ändern einer Datenbank oder eines Katalogs auszuführen, z. B. die CREATE TABLE -Anweisung oder CREATE PROCEDURE , erstellen Sie ein Microsoft.HostIntegration.MsDb2Client.MsDb2Command -Objekt mithilfe der entsprechenden SQL-Anweisungen und eines Microsoft.HostIntegration.MsDb2Client.MsDb2Connection -Objekts. Führen Sie den Befehl mithilfe der Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteNonQuery%2A -Methode des Microsoft.HostIntegration.MsDb2Client.MsDb2Command -Objekts aus.

Weitere Informationen

Arbeiten mit dem verwalteten Anbieter für DB2
Programmierhandbuch: verwaltete Anbieter für DB2