CommandBehavior Enumeração

Definição

Fornece uma descrição dos resultados da consulta e seu efeito no banco de dados.

Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.

public enum class CommandBehavior
[System.Flags]
public enum CommandBehavior
[<System.Flags>]
type CommandBehavior = 
Public Enum CommandBehavior
Herança
CommandBehavior
Atributos

Campos

Nome Valor Description
Default 0

A consulta pode retornar vários conjuntos de resultados. A execução da consulta pode afetar o estado do banco de dados. Default não define sinalizadores CommandBehavior , portanto, a chamada ExecuteReader(CommandBehavior.Default) é funcionalmente equivalente à chamada ExecuteReader().

SingleResult 1

A consulta retorna um único conjunto de resultados.

SchemaOnly 2

A consulta retorna apenas informações de coluna. Ao usar SchemaOnly, o Provedor de Dados .NET Framework para SQL Server precede a instrução que está sendo executada com SET FMTONLY ON.

KeyInfo 4

A consulta retorna informações de coluna e chave primária. O provedor acrescenta colunas extras ao conjunto de resultados para colunas de chave primária e carimbo de data/hora existentes.

SingleRow 8

Espera-se que a consulta retorne uma única linha do primeiro conjunto de resultados. A execução da consulta pode afetar o estado do banco de dados. Alguns provedores de dados .NET podem, mas não são necessários, usar essas informações para otimizar o desempenho do comando. Quando você especifica SingleRow com o método ExecuteReader() do objeto OleDbCommand, o .NET Framework Provedor de Dados para OLE DB executa a associação usando a interface OLE DB IRow se estiver disponível. Caso contrário, ele usará a IRowset interface. Se sua instrução SQL deve retornar apenas uma única linha, a especificação SingleRow também pode melhorar o desempenho do aplicativo. É possível especificar SingleRow ao executar consultas que devem retornar vários conjuntos de resultados. Nesse caso, em que uma consulta SQL de conjunto de vários resultados e uma única linha são especificadas, o resultado retornado conterá apenas a primeira linha do primeiro conjunto de resultados. Os outros conjuntos de resultados da consulta não serão retornados.

SequentialAccess 16

Fornece uma maneira de DataReader lidar com linhas que contêm colunas com valores binários grandes. Em vez de carregar a linha inteira, SequentialAccess permite DataReader carregar dados como um fluxo. Em seguida, você pode usar o método ou GetBytes o GetChars método para especificar um local de bytes para iniciar a operação de leitura e um tamanho de buffer limitado para os dados que estão sendo retornados.

CloseConnection 32

Quando o comando é executado, o objeto associado Connection é fechado quando o objeto associado DataReader é fechado.

Comentários

Os CommandBehavior valores são usados pelo ExecuteReader método de IDbCommand e quaisquer classes de implementação.

Uma combinação bit a bit desses valores pode ser usada.

CommandBehavior é ignorado quando usado para definir um SqlNotificationRequest ou SqlDependency e, portanto, não deve ser usado. Use o construtor que não requer um CommandBehavior parâmetro nesses dois casos.

Notas sobre membros individuais de enumeração

Ao usar KeyInfo, o Provedor de Dados do .NET Framework para SQL Server precede a instrução que está sendo executada com SET FMTONLY OFF e SET NO_BROWSETABLE ON. Os usuários devem estar cientes de possíveis efeitos colaterais, como interferência no uso de instruções SET FMTONLY ON. Para obter mais informações, consulte SET FMTONLY (Transact-SQL).

Note

Use SequentialAccess para recuperar valores grandes e dados binários. Caso contrário, poderá ocorrer um OutOfMemoryException e a conexão será fechada.

Quando você especificar SequentialAccess, será necessário ler as colunas na ordem em que elas são retornadas, embora não seja necessário ler cada coluna. Uma vez que você tenha lido além de um local no fluxo de dados retornado, os dados nesse local ou antes dele não poderão mais ser lidos do DataReader. Ao usar o OleDbDataReader, você pode reler o valor da coluna atual até passar por ele. Ao usar o SqlDataReader, você pode ler um valor de coluna apenas uma vez.

Aplica-se a