CommandBehavior Enumeração

Definição

Fornece uma descrição dos resultados da consulta e do seu efeito na base de dados.

Esta enumeração suporta uma combinação bit-a-bit dos respetivos valores membro.

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

Campos

Name Valor Descrição
Default 0

A consulta pode devolver múltiplos conjuntos de resultados. A execução da consulta pode afetar o estado da base de dados. Default não define flags CommandBehavior , por isso chamar ExecuteReader(CommandBehavior.Default) é funcionalmente equivalente a chamar ExecuteReader().

SingleResult 1

A consulta devolve um único conjunto de resultados.

SchemaOnly 2

A consulta devolve apenas a informação da coluna. Ao usar SchemaOnly, o .NET Framework Data Provider para SQL Server precede a instrução a ser executada com SET FMTONLY ON.

KeyInfo 4

A consulta devolve a coluna e a informação da chave primária. O fornecedor acrescenta colunas extra ao conjunto de resultados para as colunas de chave primária e de carimbo temporal existentes.

SingleRow 8

Espera-se que a consulta devolva uma única linha do primeiro conjunto de resultados. A execução da consulta pode afetar o estado da base de dados. Alguns fornecedores de dados .NET podem, mas não são obrigados, a usar esta informação para otimizar o desempenho do comando. Quando especifica SingleRow com o método ExecuteReader() do objeto OleDbCommand, a .NET Framework Data Provider para OLE DB realiza binding usando a interface OLE DB IRow, se esta estiver disponível. Caso contrário, usa a IRowset interface. Se a sua instrução SQL for esperada para devolver apenas uma linha, especificar SingleRow também pode melhorar o desempenho da aplicação. É possível especificar SingleRow , ao executar consultas, que se espera que retornem múltiplos conjuntos de resultados. Nesse caso, quando tanto uma consulta SQL com múltiplos conjuntos de resultados como uma linha única são especificadas, o resultado devolvido conterá apenas a primeira linha do primeiro conjunto de resultados. Os outros conjuntos de resultados da consulta não serão devolvidos.

SequentialAccess 16

Fornece uma forma de DataReader lidar com linhas que contêm colunas com valores binários elevados. Em vez de carregar toda a linha, SequentialAccess permite carregar DataReader dados como um fluxo. Pode então usar o GetBytes método ou GetChars para especificar uma localização de byte para iniciar a operação de leitura, e um tamanho de buffer limitado para os dados devolvidos.

CloseConnection 32

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

Observações

Os valores de CommandBehavior são usados pelo método ExecuteReader de IDbCommand e por quaisquer classes que implementem IDbCommand.

Pode ser utilizada uma combinação bit a bit destes valores.

CommandBehavior é ignorado quando usado para definir um SqlNotificationRequest OR 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 da enumeração

Ao usar KeyInfo, o Provedor de Dados do .NET Framework para SQL Server precede a instrução que está a ser executada com SET FMTONLY OFF e SET NO_BROWSETABLE ON. Os utilizadores devem estar cientes dos potenciais efeitos secundários, tais como interferência com a utilização de SET FMTONLY ON declarações. 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 ligação será encerrada.

Ao especificar SequentialAccess, é necessário ler as colunas na ordem em que são retornadas, embora não seja obrigatório ler cada coluna. Depois de ter lido além de um determinado ponto no fluxo de dados retornado, os dados naquele ponto ou antes dele não podem mais ser lidos do DataReader. Ao usar o OleDbDataReader, pode reler o valor da coluna atual até acabar de o ler. Ao usar o SqlDataReader, você pode ler um valor de coluna apenas uma vez.

Aplica-se a