CommandBehavior Enum

Definition

Stellt eine Beschreibung der Abfrageergebnisse und deren Auswirkungen auf die Datenbank bereit.Provides a description of the results of the query and its effect on the database.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
type CommandBehavior = 
Public Enum CommandBehavior
Inheritance
CommandBehavior
Attributes

Fields

CloseConnection 32

Beim Ausführen des Befehls wird das zugeordnete Connection-Objekt geschlossen, wenn das zugeordnete DataReader-Objekt geschlossen wird.When the command is executed, the associated Connection object is closed when the associated DataReader object is closed.

Default 0

Die Abfrage kann mehrere Resultsets zurückgeben.The query may return multiple result sets. Die Ausführung der Abfrage kann sich auf den Datenbankzustand auswirken.Execution of the query may affect the database state. Default legt keine CommandBehavior-Flags fest, daher entspricht die Funktion eines Aufrufs von ExecuteReader(CommandBehavior.Default) dem von ExecuteReader().Default sets no CommandBehavior flags, so calling ExecuteReader(CommandBehavior.Default) is functionally equivalent to calling ExecuteReader().

KeyInfo 4

Die Abfrage gibt Informationen über Spalten und Primärschlüssel zurück.The query returns column and primary key information. Der Anbieter fügt dem Resultset zusätzliche Spalten für vorhandene Primärschlüssel und Zeitstempelspalten an.The provider appends extra columns to the result set for existing primary key and timestamp columns.

SchemaOnly 2

Die Abfrage gibt nur Spalteninformationen zurück.The query returns column information only. Bei Verwendung von SchemaOnly stellt der .NET Framework-Datenanbieter für SQL Server der auszuführenden Anweisung SET FMTONLY ON voran.When using SchemaOnly, the .NET Framework Data Provider for SQL Server precedes the statement being executed with SET FMTONLY ON.

SequentialAccess 16

Ermöglicht dem DataReader das Behandeln von Zeilen, die Spalten mit großen Binärwerten enthalten.Provides a way for the DataReader to handle rows that contain columns with large binary values. Statt des Ladens der gesamten Zeile ermöglicht SequentialAccess dem DataReader das Laden der Daten als Stream.Rather than loading the entire row, SequentialAccess enables the DataReader to load data as a stream. Anschließend können Sie mit der GetBytes-Methode oder der GetChars-Methode eine Byteposition für den Beginn des Lesevorgangs sowie eine eingeschränkte Puffergröße für die zurückgegebenen Daten angeben.You can then use the GetBytes or GetChars method to specify a byte location to start the read operation, and a limited buffer size for the data being returned.

SingleResult 1

Die Abfrage gibt ein einzelnes Resultset zurück.The query returns a single result set.

SingleRow 8

Von der Abfrage wird erwartet, dass eine einzige Zeile des ersten Resultsets zurückgegeben wird.The query is expected to return a single row of the first result set. Die Ausführung der Abfrage kann sich auf den Datenbankzustand auswirken.Execution of the query may affect the database state. Einige .NET Framework-Datenprovider können mit diesen Informationen die Leistung des Befehls optimieren (dies ist jedoch nicht unbedingt erforderlich).Some .NET Framework data providers may, but are not required to, use this information to optimize the performance of the command. Wenn Sie SingleRow mit der ExecuteReader()-Methode des OleDbCommand-Objekts angeben, führt der .NET Framework-Datenanbieter für OLE DB eine Bindung mithilfe der OLE DB IRow-Schnittstelle durch, sofern diese verfügbar ist.When you specify SingleRow with the ExecuteReader() method of the OleDbCommand object, the .NET Framework Data Provider for OLE DB performs binding using the OLE DB IRow interface if it is available. Andernfalls wird die IRowset-Schnittstelle verwendet.Otherwise, it uses the IRowset interface. Wenn die SQL-Anweisung nur eine einzige Zeile zurückgeben soll, kann durch Angeben von SingleRow auch die Leistung der Anwendung verbessert werden.If your SQL statement is expected to return only a single row, specifying SingleRow can also improve application performance. SingleRow kann auch beim Ausführen von Abfragen angegeben werden, die mehrere Resultsets zurückgeben können.It is possible to specify SingleRow when executing queries that are expected to return multiple result sets. In einem solchen Fall, in dem sowohl eine SQL-Abfrage für mehrere Resultsets als auch eine einzige Zeile angegeben werden, enthält das zurückgegebene Ergebnis nur die erste Zeile des ersten Resultsets.In that case, where both a multi-result set SQL query and single row are specified, the result returned will contain only the first row of the first result set. Die übrigen Resultsets der Abfrage werden nicht zurückgegeben.The other result sets of the query will not be returned.

Remarks

Die CommandBehavior Werte werden von der ExecuteReader-Methode von IDbCommand und allen implementierenden Klassen verwendet.The CommandBehavior values are used by the ExecuteReader method of IDbCommand and any implementing classes.

Es kann eine bitweise Kombination dieser Werte verwendet werden.A bitwise combination of these values may be used.

CommandBehavior wird ignoriert, wenn verwendet wird, um eine SqlNotificationRequest oder SqlDependency zu definieren und daher nicht verwendet werden soll.CommandBehavior is ignored when used to define a SqlNotificationRequest or SqlDependency and should therefore not be used. Verwenden Sie den-Konstruktor, der in diesen beiden Fällen keinen CommandBehavior-Parameter erfordert.Use the constructor that does not require a CommandBehavior parameter in these two cases.

Hinweise zu einzelnen EnumerationsmembernNotes on individual enumeration members

Wenn Sie KeyInfoverwenden, ist der .NET Framework Datenanbieter für SQL Server vor der Anweisung, die mit SET FMTONLY OFF und SET NO_BROWSETABLE ONausgeführt wird.When using KeyInfo, the .NET Framework Data Provider for SQL Server precedes the statement being executed with SET FMTONLY OFF and SET NO_BROWSETABLE ON. Der Benutzer sollte mögliche Nebeneffekte erkennen, wie z. b. Störungen bei der Verwendung von SET FMTONLY ON Anweisungen.The user should be aware of potential side effects, such as interference with the use of SET FMTONLY ON statements. Weitere Informationen finden Sie unter SET FMTONLY (Transact-SQL).For more information, see SET FMTONLY (Transact-SQL).

Note

Verwenden Sie SequentialAccess, um große Werte und Binärdaten abzurufen.Use SequentialAccess to retrieve large values and binary data. Andernfalls kann eine OutOfMemoryException auftreten, und die Verbindung wird geschlossen.Otherwise, an OutOfMemoryException might occur and the connection will be closed.

Wenn Sie SequentialAccessangeben, müssen Sie die Spalten in der Reihenfolge lesen, in der Sie zurückgegeben werden, obwohl Sie nicht jede Spalte lesen müssen.When you specify SequentialAccess, you are required to read from the columns in the order they are returned, although you are not required to read each column. Nachdem Sie einen Speicherort im zurückgegebenen Datenstrom gelesen haben, können die Daten an oder vor diesem Speicherort nicht mehr aus der DataReadergelesen werden.Once you have read past a location in the returned stream of data, data at or before that location can no longer be read from the DataReader. Wenn Sie die OleDbDataReaderverwenden, können Sie den aktuellen Spaltenwert erneut anzeigen, bis Sie ihn lesen.When using the OleDbDataReader, you can reread the current column value until reading past it. Wenn Sie die SqlDataReaderverwenden, können Sie einen Spaltenwert nur einmal lesen.When using the SqlDataReader, you can read a column value only once.

Applies to