CommandBehavior Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Beschreibung der Ergebnisse der Abfrage und deren Auswirkungen auf die Datenbank bereit.
Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.
public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
[<System.Flags>]
type CommandBehavior =
Public Enum CommandBehavior
- Vererbung
- Attribute
Felder
| Name | Wert | Beschreibung |
|---|---|---|
| Default | 0 | Die Abfrage gibt möglicherweise mehrere Resultsets zurück. Die Ausführung der Abfrage kann sich auf den Datenbankstatus auswirken.
|
| SingleResult | 1 | Die Abfrage gibt ein einzelnes Resultset zurück. |
| SchemaOnly | 2 | Die Abfrage gibt nur Spalteninformationen zurück. Bei Verwendung von SchemaOnly steht das .NET Framework Datenanbieter für SQL Server vor der Anweisung, die mit SET FMTONLY ON ausgeführt wird. |
| KeyInfo | 4 | Die Abfrage gibt Spalten- und Primärschlüsselinformationen zurück. Der Anbieter fügt zusätzliche Spalten an das Resultset für vorhandene Primärschlüssel- und Zeitstempelspalten an. |
| SingleRow | 8 | Die Abfrage wird erwartet, dass eine einzelne Zeile des ersten Resultsets zurückgegeben wird. Die Ausführung der Abfrage kann sich auf den Datenbankstatus auswirken. Einige .NET Datenanbieter können diese Informationen jedoch nicht verwenden, um die Leistung des Befehls zu optimieren. Wenn Sie SingleRow mit der ExecuteReader()-Methode des OleDbCommand-Objekts angeben, führt das .NET Framework Datenanbieter für OLE DB eine Bindung mithilfe der OLE DB-Schnittstelle |
| SequentialAccess | 16 | Bietet eine Möglichkeit zum Behandeln von Zeilen, die |
| CloseConnection | 32 | Wenn der Befehl ausgeführt wird, wird das zugeordnete |
Hinweise
Die CommandBehavior Werte werden von der Methode ExecuteReader von IDbCommand und allen implementierenden Klassen verwendet.
Eine bitweise Kombination dieser Werte kann verwendet werden.
CommandBehavior wird ignoriert, wenn es zum Definieren eines SqlNotificationRequest oder SqlDependency verwendet wird und sollte daher nicht verwendet werden. Verwenden Sie den Konstruktor, der in diesen beiden Fällen keinen Parameter erfordert CommandBehavior .
Hinweise zu einzelnen Enumerationsmitgliedern
Bei der Verwendung von KeyInfo führt der .NET Framework-Datenanbieter für SQL Server der Anweisung, die ausgeführt wird, SET FMTONLY OFF und SET NO_BROWSETABLE ON voraus. Benutzer sollten sich über potenzielle Nebenwirkungen im Klaren sein, wie z. B. Beeinträchtigungen bei der Nutzung von SET FMTONLY ON-Anweisungen. Weitere Informationen finden Sie unter SET FMTONLY (Transact-SQL).
Note
Verwenden Sie SequentialAccess, um große Werte und Binärdaten abzurufen. Andernfalls kann ein OutOfMemoryException auftreten, und die Verbindung wird geschlossen.
Wenn Sie SequentialAccess angeben, sind Sie verpflichtet, aus den Spalten in der Reihenfolge zu lesen, in der sie zurückgegeben werden, obwohl Sie nicht jede Spalte lesen müssen. Nachdem Sie einen Speicherort im zurückgegebenen Datenstrom gelesen haben, können die Daten an oder vor diesem Speicherort nicht mehr aus dem DataReader gelesen werden. Bei der Verwendung von OleDbDataReader können Sie den aktuellen Spaltenwert so oft wie nötig erneut lesen, bis Sie darüber hinaus lesen. Bei Verwendung des Werts SqlDataReaderkönnen Sie einen Spaltenwert nur einmal lesen.