Compartilhar via


SqlDataReader.GetChars(Int32, Int64, Char[], Int32, Int32) Método

Definição

Lê um fluxo de caracteres do deslocamento de coluna especificado no buffer como uma matriz, que inicia no deslocamento de buffer fornecido.

public:
 override long GetChars(int i, long dataIndex, cli::array <char> ^ buffer, int bufferIndex, int length);
public override long GetChars (int i, long dataIndex, char[] buffer, int bufferIndex, int length);
override this.GetChars : int * int64 * char[] * int * int -> int64
Public Overrides Function GetChars (i As Integer, dataIndex As Long, buffer As Char(), bufferIndex As Integer, length As Integer) As Long

Parâmetros

i
Int32

O ordinal da coluna baseado em zero.

dataIndex
Int64

O índice dentro do campo no qual iniciar a operação de leitura.

buffer
Char[]

O buffer no qual o fluxo de bytes deve ser lido.

bufferIndex
Int32

O índice dentro de buffer no qual a operação de gravação deve ser iniciada.

length
Int32

O tamanho máximo a ser copiado no buffer.

Retornos

O número real de caracteres lidos.

Implementações

Comentários

GetChars retorna o número de caracteres disponíveis no campo. Frequentemente, esse é o comprimento exato do campo. No entanto, o número retornado pode ser menor que o comprimento real do campo se GetChars já tiver sido usado para obter caracteres do campo. Esse pode ser o caso, por exemplo, se o SqlDataReader estiver lendo uma estrutura de dados grande em um buffer. Para obter mais informações, consulte a SequentialAccess configuração para CommandBehavior.

O número real de caracteres lidos pode ser menor que o comprimento solicitado, se o final do campo for atingido. Se você passar um buffer que seja null, GetChars retornará o comprimento de todo o campo em caracteres, não o tamanho restante com base no parâmetro de deslocamento do buffer.

Nenhuma conversão é executada; Portanto. os dados recuperados já devem ser uma matriz de caracteres.

Observação

O GetChars método retorna 0 quando dataIndex é negativo.

Aplica-se a