CommandBehavior Énumération

Définition

Fournit une description des résultats de la requête et de son effet sur la base de données.

Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.

public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
[<System.Flags>]
type CommandBehavior = 
Public Enum CommandBehavior
Héritage
CommandBehavior
Attributs

Champs

Nom Valeur Description
Default 0

La requête peut retourner plusieurs jeux de résultats. L’exécution de la requête peut affecter l’état de la base de données. Default définit aucun CommandBehavior indicateur. L’appel ExecuteReader(CommandBehavior.Default) est donc fonctionnellement équivalent à l’appel ExecuteReader().

SingleResult 1

La requête retourne un jeu de résultats unique.

SchemaOnly 2

La requête retourne uniquement les informations de colonne. Lorsque vous utilisez SchemaOnly, le .NET Framework Fournisseur de données pour SQL Server précède l’instruction exécutée avec SET FMTONLY ON.

KeyInfo 4

La requête retourne les informations de colonne et de clé primaire. Le fournisseur ajoute des colonnes supplémentaires au jeu de résultats pour les colonnes de clé primaire et d’horodatage existantes.

SingleRow 8

La requête est censée retourner une seule ligne du premier jeu de résultats. L’exécution de la requête peut affecter l’état de la base de données. Certains fournisseurs de données .NET peuvent, mais ne sont pas requis, utiliser ces informations pour optimiser les performances de la commande. Lorsque vous spécifiez SingleRow avec la méthode ExecuteReader() de l’objet OleDbCommand, le Fournisseur de données Framework .NET pour OLE DB effectue une liaison à l’aide de l’interface OLE DB IRow s’il est disponible. Sinon, il utilise l’interface IRowset . Si votre instruction SQL est censée retourner une seule ligne, la spécification peut également améliorer les performances de SingleRow l’application. Il est possible de spécifier SingleRow lors de l’exécution de requêtes censées retourner plusieurs jeux de résultats. Dans ce cas, lorsqu’une requête SQL de jeu de résultats multiples et une seule ligne sont spécifiées, le résultat retourné contient uniquement la première ligne du premier jeu de résultats. Les autres jeux de résultats de la requête ne seront pas retournés.

SequentialAccess 16

Fournit un moyen de DataReader gérer les lignes qui contiennent des colonnes avec des valeurs binaires volumineuses. Au lieu de charger l’intégralité de la ligne, SequentialAccess permet de charger des DataReader données en tant que flux. Vous pouvez ensuite utiliser la ou GetBytes la GetChars méthode pour spécifier un emplacement d’octet pour démarrer l’opération de lecture et une taille de mémoire tampon limitée pour les données retournées.

CloseConnection 32

Lorsque la commande est exécutée, l’objet associé Connection est fermé lorsque l’objet associé DataReader est fermé.

Remarques

Les CommandBehavior valeurs sont utilisées par la ExecuteReader méthode de IDbCommand et toutes les classes qui implémentent IDbCommand.

Une combinaison binaire de ces valeurs peut être utilisée.

CommandBehavior est ignoré lorsqu'il est utilisé pour définir un SqlNotificationRequest ou un SqlDependency, il ne doit donc pas être utilisé. Utilisez le constructeur qui ne nécessite pas de CommandBehavior paramètre dans ces deux cas.

Remarques sur les membres d’énumération individuels

Lors de l’utilisation KeyInfo, le fournisseur de données .NET Framework pour SQL Server précède l’exécution de l’instruction avec SET FMTONLY OFF et SET NO_BROWSETABLE ON. Les utilisateurs doivent être conscients des effets secondaires potentiels, tels que l’interférence avec l’utilisation des instructions SET FMTONLY ON. Pour plus d’informations, consultez SET FMTONLY (Transact-SQL).

Note

Permet SequentialAccess de récupérer des valeurs volumineuses et des données binaires. Sinon, un OutOfMemoryException pourrait se produire et la connexion sera fermée.

Lorsque vous spécifiez SequentialAccess, vous devez lire à partir des colonnes dans l’ordre dans lequel elles sont retournées, même si vous n’êtes pas obligé de lire chaque colonne. Une fois que vous avez dépassé un emplacement dans le flux de données retourné, les données à ou avant cet emplacement ne peuvent plus être lues à partir du DataReader. Lorsque vous utilisez OleDbDataReader, vous pouvez relire la valeur de la colonne actuelle jusqu’à ce que vous la dépassiez. Lorsque vous utilisez le SqlDataReaderfichier , vous ne pouvez lire une valeur de colonne qu’une seule fois.

S’applique à