CommandBehavior Výčet

Definice

Poskytuje popis výsledků dotazu a jeho vlivu na databázi.Provides a description of the results of the query and its effect on the database.

Tento výčet má atribut FlagsAttribute, který umožňuje bitové kombinace hodnot členů.

public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
type CommandBehavior = 
Public Enum CommandBehavior
Dědičnost
CommandBehavior
Atributy

Pole

CloseConnection 32

Při spuštění příkazu je přidružený objekt Connection uzavřen při zavření přidruženého objektu DataReader.When the command is executed, the associated Connection object is closed when the associated DataReader object is closed.

Default 0

Dotaz může vrátit více sad výsledků dotazu.The query may return multiple result sets. Provádění dotazu může ovlivnit stav databáze.Execution of the query may affect the database state. Default nastaví žádné příznaky CommandBehavior, takže volání ExecuteReader(CommandBehavior.Default) je funkčně ekvivalentní volání ExecuteReader().Default sets no CommandBehavior flags, so calling ExecuteReader(CommandBehavior.Default) is functionally equivalent to calling ExecuteReader().

KeyInfo 4

Dotaz vrátí informace o sloupci a primárním klíči.The query returns column and primary key information. Zprostředkovatel přidá do sady výsledků pro existující sloupce primárního klíče a časového razítka sloupce navíc.The provider appends extra columns to the result set for existing primary key and timestamp columns.

SchemaOnly 2

Dotaz vrátí pouze informace o sloupci.The query returns column information only. Při použití SchemaOnlypředchází .NET Framework Zprostředkovatel dat pro SQL Server před příkaz, který je spouštěn pomocí příkazu SET FMTONLY ON.When using SchemaOnly, the .NET Framework Data Provider for SQL Server precedes the statement being executed with SET FMTONLY ON.

SequentialAccess 16

Poskytuje způsob, jak DataReader zpracovávat řádky, které obsahují sloupce s velkými binárními hodnotami.Provides a way for the DataReader to handle rows that contain columns with large binary values. Místo načtení celého řádku SequentialAccess umožňuje DataReader načíst data jako datový proud.Rather than loading the entire row, SequentialAccess enables the DataReader to load data as a stream. Pak můžete použít metodu GetBytes nebo GetChars k určení umístění bajtu pro spuštění operace čtení a omezené velikosti vyrovnávací paměti pro vracená data.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

Dotaz vrátí jedinou sadu výsledků dotazu.The query returns a single result set.

SingleRow 8

Očekává se, že dotaz vrátí jeden řádek první sady výsledků dotazu.The query is expected to return a single row of the first result set. Provádění dotazu může ovlivnit stav databáze.Execution of the query may affect the database state. Někteří poskytovatelé dat .NET Framework mohou, ale nejsou požadováni, použijte k optimalizaci výkonu příkazu tyto informace.Some .NET Framework data providers may, but are not required to, use this information to optimize the performance of the command. Pokud zadáte SingleRow s metodou ExecuteReader() objektu OleDbCommand, .NET Framework Zprostředkovatel dat pro OLE DB provádí vazbu pomocí rozhraní OLE DB IRow, pokud je k dispozici.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. V opačném případě používá rozhraní IRowset.Otherwise, it uses the IRowset interface. Pokud očekáváte, že váš příkaz SQL vrátí pouze jeden řádek, určení SingleRow může také zlepšit výkon aplikace.If your SQL statement is expected to return only a single row, specifying SingleRow can also improve application performance. Je možné zadat SingleRow při provádění dotazů, u kterých se očekává, že budou vracet více sad výsledků.It is possible to specify SingleRow when executing queries that are expected to return multiple result sets. V takovém případě, pokud je zadán dotaz SQL sady multi-result set a jeden řádek, vrácený výsledek bude obsahovat pouze první řádek první sady výsledků dotazu.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. Ostatní sady výsledků dotazu nebudou vráceny.The other result sets of the query will not be returned.

Poznámky

Hodnoty CommandBehavior jsou používány ExecuteReader metodou IDbCommand a všemi implementací tříd.The CommandBehavior values are used by the ExecuteReader method of IDbCommand and any implementing classes.

Lze použít bitovou kombinaci těchto hodnot.A bitwise combination of these values may be used.

CommandBehavior se ignoruje, když se použije k definování SqlNotificationRequest nebo SqlDependency, a proto by se neměl používat.CommandBehavior is ignored when used to define a SqlNotificationRequest or SqlDependency and should therefore not be used. Použijte konstruktor, který nevyžaduje parametr CommandBehavior v těchto dvou případech.Use the constructor that does not require a CommandBehavior parameter in these two cases.

Poznámky týkající se jednotlivých členů výčtuNotes on individual enumeration members

Při použití KeyInfopředchází .NET Framework Zprostředkovatel dat pro SQL Server před příkaz, který se spouští s SET FMTONLY OFF a SET NO_BROWSETABLE ON.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. Uživatel by měl znát možné vedlejší účinky, jako je například rušení s použitím příkazů SET FMTONLY ON.The user should be aware of potential side effects, such as interference with the use of SET FMTONLY ON statements. Další informace najdete v tématu set FMTONLY (Transact-SQL).For more information, see SET FMTONLY (Transact-SQL).

Poznámka

Použijte SequentialAccess k načtení velkých hodnot a binárních dat.Use SequentialAccess to retrieve large values and binary data. V opačném případě může dojít k OutOfMemoryException a připojení bude zavřeno.Otherwise, an OutOfMemoryException might occur and the connection will be closed.

Pokud zadáte SequentialAccess, budete muset číst ze sloupců v pořadí, ve kterém jsou vraceny, ale není nutné číst jednotlivé sloupce.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. Jakmile si přečtete předchozí místo v vráceném proudu dat, data na nebo před tímto umístěním už nebude možné číst z DataReader.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. Při použití OleDbDataReadermůžete znovu načíst aktuální hodnotu sloupce, dokud ji nepřečtete v minulosti.When using the OleDbDataReader, you can reread the current column value until reading past it. Při použití SqlDataReadermůžete číst hodnotu sloupce pouze jednou.When using the SqlDataReader, you can read a column value only once.

Platí pro