Compartilhar via


SqlDataReader.GetBytes(Int32, Int64, Byte[], Int32, Int32) Método

Definição

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

public:
 override long GetBytes(int i, long dataIndex, cli::array <System::Byte> ^ buffer, int bufferIndex, int length);
public override long GetBytes (int i, long dataIndex, byte[] buffer, int bufferIndex, int length);
override this.GetBytes : int * int64 * byte[] * int * int -> int64
Public Overrides Function GetBytes (i As Integer, dataIndex As Long, buffer As Byte(), 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
Byte[]

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 bytes lidos.

Implementações

Comentários

GetBytes retorna o número de bytes disponíveis no campo . Na maioria das vezes, esse é o comprimento exato do campo. No entanto, o número retornado poderá ser menor que o comprimento verdadeiro do campo se GetBytes já tiver sido usado para obter bytes 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.

Se você passar um buffer que seja null, GetBytes retornará o comprimento do campo inteiro em bytes, 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 bytes.

Aplica-se a