Udostępnij za pośrednictwem


SqlDataReader.GetBytes(Int32, Int64, Byte[], Int32, Int32) Metoda

Definicja

Odczytuje strumień bajtów z przesunięcia określonej kolumny do buforu tablicy rozpoczynającej się od danego przesunięcia buforu.

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

Parametry

i
Int32

Porządkowa kolumna oparta na zera.

dataIndex
Int64

Indeks w polu, z którego ma rozpocząć operację odczytu.

buffer
Byte[]

Bufor służący do odczytywania strumienia bajtów.

bufferIndex
Int32

Indeks w obszarze, w buffer którym ma być uruchamiana operacja zapisu.

length
Int32

Maksymalna długość kopiowania do buforu.

Zwraca

Rzeczywista liczba bajtów odczytanych.

Implementuje

Uwagi

GetBytes Zwraca liczbę dostępnych bajtów w polu. W większości przypadków jest to dokładna długość pola. Zwracana liczba może być jednak mniejsza niż rzeczywista długość pola, jeśli GetBytes została już użyta do uzyskania bajtów z pola. Może to być na przykład przypadek, jeśli odczytuje SqlDataReader dużą strukturę danych do buforu. Aby uzyskać więcej informacji, zobacz SequentialAccess ustawienie dla CommandBehaviorelementu .

W przypadku przekazania buforu, który jest null, GetBytes zwraca długość całego pola w bajtach, a nie pozostały rozmiar na podstawie parametru przesunięcia buforu.

Nie są wykonywane żadne konwersje; w związku z tym pobrane dane muszą być już tablicą bajtów.

Dotyczy