Udostępnij za pośrednictwem


SqlDataReader.GetChars(Int32, Int64, Char[], Int32, Int32) Metoda

Definicja

Odczytuje strumień znaków z przesunięcia określonej kolumny do buforu jako tablicę rozpoczynającą się od danego przesunięcia buforu.

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

Parametry

i
Int32

Porządkowa kolumna oparta na zera.

dataIndex
Int64

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

buffer
Char[]

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 znaków odczytanych.

Implementuje

Uwagi

GetChars Zwraca liczbę dostępnych znaków w polu. Często jest to dokładna długość pola. Zwracana liczba może być jednak mniejsza niż rzeczywista długość pola, jeśli GetChars została już użyta do uzyskania znakó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 .

Rzeczywista liczba odczytanych znaków może być mniejsza niż żądana długość, jeśli osiągnięto koniec pola. W przypadku przekazania buforu, który jest null, GetChars zwraca długość całego pola w znakach, a nie pozostały rozmiar na podstawie parametru przesunięcia buforu.

Nie są wykonywane żadne konwersje; Dlatego. pobrane dane muszą być już tablicą znaków.

Uwaga

Metoda GetChars zwraca wartość 0, gdy dataIndex jest ujemna.

Dotyczy