Bagikan melalui


SqlDataReader.GetStream(Int32) Metode

Definisi

Mengambil jenis data biner, gambar, varbinary, UDT, dan varian sebagai 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

Parameter

i
Int32

Ordinal kolom berbasis nol.

Mengembalikan

Objek stream.

Pengecualian

Koneksi terputus atau ditutup selama pengambilan data.

SqlDataReader ditutup selama pengambilan data.

Tidak ada data yang siap dibaca (misalnya, yang pertama Read() belum dipanggil, atau dikembalikan salah).

Mencoba membaca kolom yang dibaca sebelumnya dalam mode berurutan.

Ada operasi asinkron yang sedang berlangsung. Ini berlaku untuk semua metode Get* saat berjalan dalam mode berurutan, karena dapat dipanggil saat membaca aliran.

Mencoba membaca kolom yang tidak ada.

Jenis yang dikembalikan bukan salah satu jenis di bawah ini:

  • binary

  • gambar

  • varbinary

  • udt

Keterangan

ReadTimeout default ke nilai CommandTimeout; tetapi Anda dapat memodifikasi ReadTimeout melalui GetStream.

Nilai null akan dikembalikan sebagai kosong (nol byte) Stream.

GetBytes akan memunculkan InvalidOperationException pengecualian ketika digunakan pada objek yang dikembalikan oleh GetStream kapan SequentialAccess berlaku.

SqlException pengecualian yang dimunculkan dari Stream dilemparkan sebagai IOException pengecualian; periksa pengecualian dalam untuk SqlException.

Anggota berikut Stream ini tidak tersedia untuk objek yang dikembalikan oleh GetStream:

  • BeginWrite

  • EndWrite

  • Panjang

  • Position

  • Seek

  • SetLength

  • Write

  • WriteByte

  • WriteTimeout

Saat properti ContextConnection=truekoneksi , GetStream hanya mendukung pengambilan data sinkron untuk akses berurutan (SequentialAccess) dan non-berurutan ().Default

Untuk informasi selengkapnya, lihat Dukungan Streaming SqlClient.

Berlaku untuk