SqlDataReader.GetStream(Int32) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera typy danych binarnych, obrazów, varbinary, UDT i wariantów jako Stream.
public:
override System::IO::Stream ^ GetStream(int i);
public override System.IO.Stream GetStream (int i);
override this.GetStream : int -> System.IO.Stream
Public Overrides Function GetStream (i As Integer) As Stream
Parametry
- i
- Int32
Porządkowa kolumna oparta na zera.
Zwraca
Obiekt strumienia.
Wyjątki
Połączenie spada lub jest zamykane podczas pobierania danych.
Element SqlDataReader jest zamknięty podczas pobierania danych.
Nie ma danych gotowych do odczytu (na przykład pierwszy Read() nie został wywołany lub zwrócony fałsz).
Podjęto próbę odczytania wcześniej odczytanej kolumny w trybie sekwencyjnym.
W toku była operacja asynchroniczna. Dotyczy to wszystkich metod Get* podczas uruchamiania w trybie sekwencyjnym, ponieważ można je wywołać podczas odczytywania strumienia.
Próba odczytania kolumny, która nie istnieje.
Zwrócony typ nie był jednym z poniższych typów:
binarny
image (obraz)
varbinary
Udt
Uwagi
ReadTimeout wartość domyślna wartości CommandTimeout, ale można ją zmodyfikować ReadTimeout za pomocą polecenia GetStream.
Wartości null zostaną zwrócone jako puste (zero bajtów) Stream.
GetBytes zgłosi InvalidOperationException wyjątek w przypadku użycia obiektu zwróconego przez GetStream element , gdy SequentialAccess jest w życie.
SqlException wyjątki zgłaszane z Stream wyjątków są zgłaszane jako IOException wyjątki; sprawdź wyjątek wewnętrzny dla SqlExceptionelementu .
Następujące Stream elementy członkowskie nie są dostępne dla obiektów zwracanych przez :GetStream
BeginWrite
EndWrite
Długość
Position
Seek
SetLength
Write
WriteByte
WriteTimeout
Gdy właściwość ContextConnection=true
GetStream połączenia obsługuje tylko synchroniczne pobieranie danych dla dostępu sekwencyjnego (SequentialAccess) i niesekwencyjnego (Default).
Aby uzyskać więcej informacji, zobacz Obsługa przesyłania strumieniowego sqlClient.