CommandBehavior Výčet

Definice

Poskytuje popis výsledků dotazu a jeho vliv na databázi.

Tento výčet podporuje bitové kombinace hodnot jeho členů.

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

Pole

Name Hodnota Description
Default 0

Dotaz může vrátit více sad výsledků. Spuštění dotazu může ovlivnit stav databáze. Default nenastavuje žádné CommandBehavior příznaky, takže volání ExecuteReader(CommandBehavior.Default) je funkčně ekvivalentní volání ExecuteReader().

SingleResult 1

Dotaz vrátí jednu sadu výsledků.

SchemaOnly 2

Dotaz vrátí pouze informace o sloupci. Při použití SchemaOnly Zprostředkovatel dat rozhraní .NET Framework pro SQL Server předchází příkazu SET FMTONLY ON.

KeyInfo 4

Dotaz vrátí informace o sloupci a primárním klíči. Zprostředkovatel připojí k sadě výsledků další sloupce pro existující primární klíč a sloupce časového razítka.

SingleRow 8

Očekává se, že dotaz vrátí jeden řádek první sady výsledků. Spuštění dotazu může ovlivnit stav databáze. Někteří .NET poskytovatelé dat mohou, ale nevyžadují se, tyto informace používají k optimalizaci výkonu příkazu. Pokud zadáte SingleRow pomocí metody ExecuteReader() objektu OleDbCommand, rozhraní .NET Zprostředkovatel dat Framework pro OLE DB provede vazbu pomocí rozhraní OLE DB IRow, pokud je k dispozici. V opačném případě používá IRowset rozhraní. Pokud se očekává, že příkaz SQL vrátí jenom jeden řádek, může zadávání SingleRow také zlepšit výkon aplikace. Při provádění dotazů, u které se očekává vrácení více sad výsledků, je možné zadat SingleRow . V takovém případě, kdy je zadaný dotaz SQL s více výsledky i jeden řádek, bude vrácený výsledek obsahovat pouze první řádek první sady výsledků. Ostatní sady výsledků dotazu nebudou vráceny.

SequentialAccess 16

Poskytuje způsob, jak DataReader zpracovávat řádky obsahující sloupce s velkými binárními hodnotami. Místo načtení celého řádku SequentialAccess umožňuje DataReader načtení dat jako datového proudu. Potom můžete použít metodu GetBytes nebo GetChars určit umístění bajtů pro spuštění operace čtení a omezenou velikost vyrovnávací paměti pro vrácená data.

CloseConnection 32

Při spuštění příkazu se přidružený Connection objekt zavře při zavření přidruženého DataReader objektu.

Poznámky

Hodnoty CommandBehavior používá metoda ExecuteReaderIDbCommand a všechny implementující třídy.

Bitové kombinace těchto hodnot mohou být použity.

CommandBehavior se ignoruje, pokud se používá k definování SqlNotificationRequest nebo SqlDependency a proto by se nemělo používat. Použijte konstruktor, který v těchto dvou případech nevyžaduje CommandBehavior parametr.

Poznámky k jednotlivým členům výčtu

Při použití KeyInfo rozhraní .NET Framework Zprostředkovatel dat pro SQL Server příkazu, který je prováděn, předchází SET FMTONLY OFF a SET NO_BROWSETABLE ON. Uživatelé by si měli být vědomi potenciálních vedlejších účinků, jako je například interference s používáním SET FMTONLY ON příkazů. Další informace naleznete v tématu SET FMTONLY (Transact-SQL).

Note

Slouží SequentialAccess k načtení velkých hodnot a binárních dat. V opačném případě může dojít k OutOfMemoryException, a připojení bude uzavřeno.

Pokud zadáte SequentialAccess, budete muset číst ze sloupců v pořadí, v jakém jsou vráceny, i když není nutné číst každý sloupec. Jakmile si přečtete pozici ve vráceném datovém proudu, nelze již data z této pozice ani před ní číst z DataReader. Při použití OleDbDataReader můžete znovu přečíst hodnotu aktuálního sloupce, dokud ji nepřečtete a nepostoupíte dál. Při použití této možnosti SqlDataReadermůžete číst hodnotu sloupce pouze jednou.

Platí pro