(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

SqlCommand-Klasse

Stellt eine Transact-SQL-Anweisung oder eine gespeicherte Prozedur dar, die in einer SQL Server-Datenbank ausgeführt werden soll. Die Klasse erlaubt keine Vererbung.

Namespace:  System.Data.SqlClient
Assembly:  System.Data (in System.Data.dll)

public sealed class SqlCommand : DbCommand, 
	ICloneable

Der SqlCommand-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeSqlCommand()Initialisiert eine neue Instanz der SqlCommand-Klasse.
Öffentliche MethodeSqlCommand(String)Initialisiert eine neue Instanz der SqlCommand-Klasse mit dem Text der Abfrage.
Öffentliche MethodeSqlCommand(String, SqlConnection)Initialisiert eine neue Instanz der SqlCommand-Klasse mit dem Text der Abfrage und eine SqlConnection.
Öffentliche MethodeSqlCommand(String, SqlConnection, SqlTransaction)Initialisiert eine neue Instanz der SqlCommand-Klasse mit dem Text der Abfrage, einer SqlConnection und der SqlTransaction.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftCommandTextRuft die Transact-SQL-Anweisung, den Tabellennamen oder die gespeicherte Prozedur ab, die oder der für die Datenquelle ausgeführt werden soll, oder legt diese(n) fest. (Überschreibt DbCommand.CommandText.)
Öffentliche EigenschaftCommandTimeoutRuft die Zeit ab, die gewartet werden soll, bis der Versuch einer Befehlsausführung beendet und ein Fehler generiert wird, oder legt diese fest. (Überschreibt DbCommand.CommandTimeout.)
Öffentliche EigenschaftCommandTypeRuft einen Wert ab, der angibt, wie die CommandText-Eigenschaft interpretiert werden soll, oder legt diesen Wert fest. (Überschreibt DbCommand.CommandType.)
Öffentliche EigenschaftConnectionRuft die SqlConnection ab, die von dieser SqlCommand-Instanz verwendet wird, oder legt diese fest.
Öffentliche EigenschaftContainerRuft den IContainer ab, der die Component enthält. (Von Component geerbt.)
Öffentliche EigenschaftDesignTimeVisibleRuft einen Wert ab, der angibt, ob das Befehlsobjekt in einem Steuerelement für Windows Forms-Designer sichtbar sein soll, oder legt diesen fest. (Überschreibt DbCommand.DesignTimeVisible.)
Öffentliche EigenschaftNotificationRuft einen Wert ab, der das SqlNotificationRequest-Objekt zu diesem Befehl angibt, oder legt diesen Wert fest.
Öffentliche EigenschaftNotificationAutoEnlistRuft einen Wert ab, der angibt, ob die Anwendung automatisch Abfragebenachrichtigungen von einem allgemeinen SqlDependency-Objekt erhalten soll, oder legt diesen fest.
Öffentliche EigenschaftParametersRuft den SqlParameterCollection ab.
Öffentliche EigenschaftSiteRuft die ISite der Component ab oder legt diese fest. (Von Component geerbt.)
Öffentliche EigenschaftTransactionRuft die SqlTransaction ab, in der SqlCommand ausgeführt wird, oder legt diese fest.
Öffentliche EigenschaftUpdatedRowSourceRuft ab oder legt fest, wie die Ergebnisse von Befehlen auf die DataRow angewendet werden, wenn diese von der Update-Methode von DbDataAdapter verwendet wird. (Überschreibt DbCommand.UpdatedRowSource.)
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeBeginExecuteNonQuery()Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherter Prozedur, die von diesem SqlCommand beschrieben wird.
Öffentliche MethodeBeginExecuteNonQuery(AsyncCallback, Object)Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherter Prozedur, die von diesem SqlCommand beschrieben wird, wenn eine Rückrufprozedur und Zustandsinformationen verfügbar sind.
Öffentliche MethodeBeginExecuteReader()Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von diesem SqlCommand beschrieben wird, und ruft ein oder mehrere Resultsets vom Server ab.
Öffentliche MethodeBeginExecuteReader(CommandBehavior)Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherter Prozedur, die von diesem SqlCommand beschrieben wird, und verwendet einen der CommandBehavior-Werte.
Öffentliche MethodeBeginExecuteReader(AsyncCallback, Object)Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von diesem SqlCommand beschrieben wird, und ruft ein oder mehrere Resultsets vom Server ab, wenn eine Rückrufprozedur und Zustandsinformationen verfügbar sind.
Öffentliche MethodeBeginExecuteReader(AsyncCallback, Object, CommandBehavior)Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von diesem SqlCommand beschrieben wird, wobei einer der CommandBehavior-Werte verwendet und ein oder mehrere Resultsets vom Server abgerufen werden, wenn eine Rückrufprozedur und Zustandsinformationen verfügbar sind.
Öffentliche MethodeBeginExecuteXmlReader()Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherter Prozedur, die von diesem SqlCommand beschrieben wird, und gibt die Ergebnisse in Form eines XmlReader-Objekts zurück.
Öffentliche MethodeBeginExecuteXmlReader(AsyncCallback, Object)Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherter Prozedur, die von diesem SqlCommand beschrieben wird, und gibt mithilfe einer Rückrufprozedur die Ergebnisse in Form eines XmlReader-Objekts zurück.
Öffentliche MethodeCancelVersucht, die Ausführung eines SqlCommand abzubrechen. (Überschreibt DbCommand.Cancel().)
Öffentliche MethodeCloneErstellt ein neues SqlCommand-Objekt, das eine Kopie der aktuellen Instanz ist.
Öffentliche MethodeCreateObjRefErstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Von MarshalByRefObject geerbt.)
Öffentliche MethodeCreateParameterErstellt eine neue Instanz eines SqlParameter-Objekts.
Öffentliche MethodeDispose() Gibt alle von Component verwendeten Ressourcen frei. (Von Component geerbt.)
Öffentliche MethodeEndExecuteNonQueryBeendet die asynchrone Ausführung einer Transact-SQL-Anweisung.
Öffentliche MethodeEndExecuteReaderBeendet die asynchrone Ausführung einer Transact-SQL-Anweisung und gibt den angeforderten SqlDataReader zurück.
Öffentliche MethodeEndExecuteXmlReaderBeendet die asynchrone Ausführung einer Transact-SQL-Anweisung, und gibt die angeforderten Daten als XML zurück.
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeExecuteNonQueryFührt eine Transact-SQL-Anweisung für die Verbindung aus und gibt die Anzahl der betroffenen Zeilen zurück. (Überschreibt DbCommand.ExecuteNonQuery().)
Öffentliche MethodeExecuteNonQueryAsync()Eine asynchrone Version von ExecuteNonQuery, die eine SQL-Anweisung für ein Verbindungsobjekt ausführt.Ruft ExecuteNonQueryAsync mit CancellationToken.None auf. (Von DbCommand geerbt.)
Öffentliche MethodeExecuteNonQueryAsync(CancellationToken)Eine asynchrone Version von ExecuteNonQuery, die eine Transact-SQL-Anweisung gegen die Verbindung ausführt und die Anzahl der betroffenen Zeilen zurückgibt. Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Timeout des Befehls abläuft. Ausnahmen werden über das zurückgegebene Taskobjekt gemeldet. (Überschreibt DbCommand.ExecuteNonQueryAsync(CancellationToken).)
Öffentliche MethodeExecuteReader()Sendet die CommandText-Eigenschaft an die Connection-Eigenschaft und erstellt eine SqlDataReader-Klasse.
Öffentliche MethodeExecuteReader(CommandBehavior)Sendet CommandText an Connection, und erstellt einen SqlDataReader mit einem der CommandBehavior-Werte.
Öffentliche MethodeExecuteReaderAsync()Eine asynchrone Version von ExecuteReader, die den CommandText zu Connection sendet, und einen SqlDataReader erstellt. Ausnahmen werden über das zurückgegebene Taskobjekt gemeldet.
Öffentliche MethodeExecuteReaderAsync(CancellationToken)Eine asynchrone Version von ExecuteReader, die den CommandText zu Connection sendet, und einen SqlDataReader erstellt.Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Timeout des Befehls abläuft. Ausnahmen werden über das zurückgegebene Taskobjekt gemeldet.
Öffentliche MethodeExecuteReaderAsync(CommandBehavior)Eine asynchrone Version von ExecuteReader, die den CommandText zu Connection sendet, und einen SqlDataReader erstellt. Ausnahmen werden über das zurückgegebene Taskobjekt gemeldet.
Öffentliche MethodeExecuteReaderAsync(CommandBehavior, CancellationToken)Eine asynchrone Version von ExecuteReader, die den CommandText zu Connection sendet, und einen SqlDataReader erstellt.Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Timeout des Befehls abläuft. Ausnahmen werden über das zurückgegebene Taskobjekt gemeldet.
Öffentliche MethodeExecuteScalarFührt die Abfrage aus und gibt die erste Spalte der ersten Zeile im Resultset zurück, das durch die Abfrage zurückgegeben wird. Zusätzliche Spalten oder Zeilen werden ignoriert. (Überschreibt DbCommand.ExecuteScalar().)
Öffentliche MethodeExecuteScalarAsync()Eine asynchrone Version von ExecuteScalar, die die Abfrage ausführt und die erste Spalte der ersten Zeile im Resultset zurückgibt. Alle anderen Spalten und Zeilen werden ignoriert. Ruft ExecuteScalarAsync mit CancellationToken.None auf. (Von DbCommand geerbt.)
Öffentliche MethodeExecuteScalarAsync(CancellationToken)Eine asynchrone Version von ExecuteScalar, die die Abfrage asynchron ausführt und die erste Spalte der ersten Zeile im Resultset zurückgibt. Zusätzliche Spalten oder Zeilen werden ignoriert. Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Timeout des Befehls abläuft. Ausnahmen werden über das zurückgegebene Taskobjekt gemeldet. (Überschreibt DbCommand.ExecuteScalarAsync(CancellationToken).)
Öffentliche MethodeExecuteXmlReaderSendet CommandText an Connection, und erstellt ein XmlReader-Objekt.
Öffentliche MethodeExecuteXmlReaderAsync()Eine asynchrone Version von ExecuteXmlReader, die den CommandText zu Connection sendet, und ein XmlReader-Objekt erstellt.Ausnahmen werden über das zurückgegebene Taskobjekt gemeldet.
Öffentliche MethodeExecuteXmlReaderAsync(CancellationToken)Eine asynchrone Version von ExecuteXmlReader, die den CommandText zu Connection sendet, und ein XmlReader-Objekt erstellt.Das Abbruchtoken kann verwendet werden, um anzufordern, dass der Vorgang abgebrochen wird, bevor das Timeout des Befehls abläuft. Ausnahmen werden über das zurückgegebene Taskobjekt gemeldet.
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetLifetimeServiceRuft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeInitializeLifetimeServiceRuft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können. (Von MarshalByRefObject geerbt.)
Öffentliche MethodePrepareErstellt eine vorbereitete Version des Befehls in einer Instanz von SQL Server. (Überschreibt DbCommand.Prepare().)
Öffentliche MethodeResetCommandTimeoutSetzt die CommandTimeout-Eigenschaft auf den Standardwert zurück.
Öffentliche MethodeToString Gibt einen String zurück, der den Namen dieser Componente enthält, sofern vorhanden. Diese Methode sollte nicht überschrieben werden. (Von Component geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliches EreignisDisposed Wird ausgelöst, wenn die Komponente durch einen Aufruf der Dispose-Methode freigegeben wird. (Von Component geerbt.)
Öffentliches EreignisStatementCompletedTritt auf, wenn die Ausführung einer Transact-SQL-Anweisung abgeschlossen wurde.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeICloneable.CloneErstellt ein neues SqlCommand-Objekt, das eine Kopie der aktuellen Instanz ist.
Explizite SchnittstellenimplementierungPrivate EigenschaftIDbCommand.ConnectionRuft die IDbConnection ab, die von dieser Instanz des IDbCommand verwendet wird, oder legt diese fest. (Von DbCommand geerbt.)
Explizite SchnittstellenimplementierungPrivate MethodeIDbCommand.CreateParameterErstellt eine neue Instanz eines IDbDataParameter-Objekts. (Von DbCommand geerbt.)
Explizite SchnittstellenimplementierungPrivate MethodeIDbCommand.ExecuteReader()Führt CommandText für die Connection aus und erstellt einen IDataReader. (Von DbCommand geerbt.)
Explizite SchnittstellenimplementierungPrivate MethodeIDbCommand.ExecuteReader(CommandBehavior)Führt CommandText für die Connection aus und erstellt mit einem der CommandBehavior-Werte einen IDataReader. (Von DbCommand geerbt.)
Explizite SchnittstellenimplementierungPrivate EigenschaftIDbCommand.ParametersRuft den IDataParameterCollection ab. (Von DbCommand geerbt.)
Explizite SchnittstellenimplementierungPrivate EigenschaftIDbCommand.TransactionRuft die DbTransaction ab, in der dieses DbCommand-Objekt ausgeführt wird, oder legt diese fest. (Von DbCommand geerbt.)
Zum Seitenanfang

Wenn eine Instanz von SqlCommand erstellt wird, werden die Lese-/Schreibeigenschaften auf die Anfangswerte festgelegt. Eine Liste dieser Werte finden Sie unter SqlCommand-Konstruktor.

SqlCommand enthält die folgenden Methoden für das Ausführen von Befehlen in einer SQL Server-Datenbank:

Element

Beschreibung

BeginExecuteNonQuery

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die durch diesen SqlCommand beschrieben wird und i. d. R. Befehle, z. B. INSERT-, DELETE, UPDATE- oder SET-Anweisungen, ausführt. Alle Aufrufe von BeginExecuteNonQuery müssen mit einem Aufruf von EndExecuteNonQuery kombiniert werden, womit der Vorgang typischerweise auf einem separaten Thread abgeschlossen wird.

BeginExecuteReader

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die von diesem SqlCommand beschrieben wird, und ruft ein oder mehrere Resultsets vom Server ab. Alle Aufrufe von BeginExecuteReader müssen mit einem Aufruf von EndExecuteReader kombiniert werden, womit der Vorgang typischerweise auf einem separaten Thread abgeschlossen wird.

BeginExecuteXmlReader

Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherter Prozedur, die von diesem SqlCommand beschrieben wird. Alle Aufrufe von BeginExecuteXmlReader müssen mit einem Aufruf von EndExecuteXmlReader kombiniert werden, womit der Vorgang typischerweise auf einem separaten Thread abgeschlossen wird und ein XmlReader-Objekt zurückgegeben wird.

ExecuteReader

Führt Befehle aus, die Zeilen zurückgeben. Zur Verbesserung der Leistung ruft ExecuteReader Befehle mit der im System gespeicherten Transact-SQL-Prozedur sp_executesql auf. Deshalb zeigt ExecuteReader u. U. ungewünschte Auswirkungen, wenn damit Befehle, z. B. SET-Anweisungen in Transact-SQL, ausgeführt werden.

ExecuteNonQuery

Führt Befehle wie die Transact-SQL-Anweisungen INSERT, DELETE, UPDATE und SET aus.

ExecuteScalar

Ruft einen einzelnen Wert (z. B. einen Aggregatwert) aus einer Datenbank ab.

ExecuteXmlReader

Sendet CommandText an Connection, und erstellt ein XmlReader-Objekt.

Sie können die CommandText-Eigenschaft zurücksetzen und das SqlCommand-Objekt wieder verwenden. Sie müssen jedoch den SqlDataReader schließen, bevor ein neuer oder zuvor verwendeter Befehl ausgeführt werden kann.

Wenn von der Methode, die einen SqlCommand ausführt, eine SqlException generiert wird, bleibt die SqlConnection geöffnet, sofern der Schweregrad 19 oder kleiner ist. SqlConnection wird in der Regel ab dem Schweregrad 20 geschlossen. Der Benutzer kann jedoch erneut eine Verbindung herstellen und fortfahren.

HinweisHinweis

Namenlose, auch ordinal genannte, Parameter werden nicht vom .NET Framework-Datenanbieter für SQL Server unterstützt.

Im folgenden Beispiel werden eine SqlConnection, ein SqlCommand und ein SqlDataReader erstellt. Im Beispiel werden alle Daten gelesen und in der Konsole ausgegeben. Im Beispiel wird schließlich der SqlDataReader geschlossen und dann die SqlConnection, sobald die Using-Codeblöcke verlassen werden.


private static void ReadOrderData(string connectionString)
{
    string queryString = 
        "SELECT OrderID, CustomerID FROM dbo.Orders;";
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(
            queryString, connection);
        connection.Open();
        SqlDataReader reader = command.ExecuteReader();
        try
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}, {1}",
                    reader[0], reader[1]));
            }
        }
        finally
        {
            // Always call Close when done reading.
            reader.Close();
        }
    }
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft