CommandBehavior Enumeráció

Definíció

A lekérdezés eredményeinek és az adatbázisra gyakorolt hatásának leírását tartalmazza.

Ez a felsorolás támogatja a tagértékek bitenkénti kombinációját.

public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
[<System.Flags>]
type CommandBehavior = 
Public Enum CommandBehavior
Öröklődés
CommandBehavior
Attribútumok

Mezők

Name Érték Description
Default 0

A lekérdezés több eredményhalmazt is visszaadhat. A lekérdezés végrehajtása hatással lehet az adatbázis állapotára. Default nem CommandBehavior állít be jelzőket, így a hívás ExecuteReader(CommandBehavior.Default) funkcionálisan egyenértékű a hívással ExecuteReader().

SingleResult 1

A lekérdezés egyetlen eredményhalmazt ad vissza.

SchemaOnly 2

A lekérdezés csak oszlopadatokat ad vissza. A SchemaOnly használatakor a SQL Server .NET-keretrendszer Data Provider megelőzi a SET FMTONLY ON paranccsal végrehajtott utasítást.

KeyInfo 4

A lekérdezés oszlop- és elsődlegeskulcs-információkat ad vissza. A szolgáltató további oszlopokat fűz az eredményhalmazhoz a meglévő elsődleges kulcs- és időbélyeg-oszlopokhoz.

SingleRow 8

A lekérdezés várhatóan az első eredményhalmaz egyetlen sorát adja vissza. A lekérdezés végrehajtása hatással lehet az adatbázis állapotára. Egyes .NET adatszolgáltatók használhatják ezeket az adatokat, de nem szükségesek a parancs teljesítményének optimalizálásához. Ha SingleRow a ExecuteReader() objektum OleDbCommand metódusával adja meg, az OLE DB-hez készült .NET Keretrendszer Data Provider az OLE DB IRow interfész használatával hajtja végre a kötést, ha az elérhető. Ellenkező esetben az interfészt IRowset használja. Ha az SQL-utasítás várhatóan csak egyetlen sort ad vissza, a beállítás SingleRow az alkalmazás teljesítményét is javíthatja. Megadható olyan SingleRow lekérdezések végrehajtásakor, amelyek várhatóan több eredményhalmazt adnak vissza. Ebben az esetben, ha egy többeredményes SQL-lekérdezés és egy sor is meg van adva, a visszaadott eredmény csak az első eredményhalmaz első sorát tartalmazza. A lekérdezés többi eredményhalmaza nem lesz visszaadva.

SequentialAccess 16

Lehetővé teszi a DataReader nagy bináris értékekkel rendelkező oszlopokat tartalmazó sorok kezelését. A teljes sor SequentialAccess betöltése helyett lehetővé teszi az DataReader adatok streamként való betöltését. Ezután a vagy GetBytes módszer GetChars használatával megadhatja a bájt helyét az olvasási művelet elindításához, valamint a visszaadott adatok korlátozott pufferméretét.

CloseConnection 32

A parancs végrehajtásakor a társított Connection objektum bezárul a társított DataReader objektum bezárásakor.

Megjegyzések

A CommandBehavior értékeket a ExecuteReader metódus és az azt implementáló osztályok a IDbCommand-ben használják.

Ezen értékek bitenkénti kombinációja használható.

CommandBehavior figyelmen kívül lesz hagyva, ha egy SqlNotificationRequest vagy SqlDependency definíciójában szerepel, ezért nem szabad használni. Használja azt a konstruktort, amely ebben a két esetben nem igényel paramétert CommandBehavior .

Jegyzetek az egyes enumerálási tagokról

Az SQL Serverhez készült .NET-keretrendszer adatszolgáltató használata KeyInfo megelőzi az utasítás végrehajtását SET FMTONLY OFF és SET NO_BROWSETABLE ON. A felhasználóknak tisztában kell lenniük a lehetséges mellékhatásokkal, például a SET FMTONLY ON utasítások használatával való interferenciával. További információ: SET FMTONLY (Transact-SQL).

Note

Nagy értékek és bináris adatok lekérésére használható SequentialAccess . Ellenkező esetben előfordulhat, hogy egy OutOfMemoryException esemény lép fel, és a kapcsolat bezárul.

Ha megadja SequentialAccess, a visszaadott sorrendben kell olvasnia az oszlopokból, bár nem kell elolvasnia az egyes oszlopokat. Miután áthaladt a visszaadott adatfolyam egy pozícióján, az adott helyen vagy előtte lévő adatok már nem olvashatók be a DataReaderrendszerből. A OleDbDataReader használatával újraolvashatja az aktuális oszlopértéket, amíg túl nem lép rajta. Ha a függvényt SqlDataReaderhasználja, csak egyszer olvashat oszlopértéket.

A következőre érvényes: