SqlDataReader.GetStream(Int32) Yöntem

Tanım

İkili, görüntü, varbinary, UDT ve değişken veri türlerini olarak Streamalır.

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

Parametreler

i
Int32

Sıfır tabanlı sütun sıralı.

Döndürülenler

Akış nesnesi.

Özel durumlar

Veri alma sırasında bağlantı bırakılır veya kapatılır.

SqlDataReader veri alma sırasında kapatılır.

Okunmaya hazır veri yok (örneğin, ilki Read() çağrılmadı veya false döndürülmedi).

Daha önce okunan bir sütunu sıralı modda okumayı denedim.

Devam eden zaman uyumsuz bir işlem vardı. Bu, bir akış okunurken çağrılabilecekleri için sıralı modda çalışırken tüm Get* yöntemleri için geçerlidir.

Var olmayan bir sütun okunmaya çalışılıyor.

Döndürülen tür aşağıdaki türlerden biri değildi:

  • ikili

  • image

  • Varbinary

  • Udt

Açıklamalar

ReadTimeoutdeğerini varsayılan olarak kullanırCommandTimeout, ancak aracılığıyla GetStreamdeğiştirebilirsinizReadTimeout.

Null değerler boş (sıfır bayt) Streamolarak döndürülür.

GetBytes, etkin olduğunda SequentialAccess tarafından GetStream döndürülen bir nesnede kullanıldığında bir InvalidOperationException özel durum oluşturur.

SqlException özel Stream durumları özel durum olarak IOException oluşturulur; için SqlExceptioniç özel durumu denetleyin.

Tarafından döndürülen GetStreamnesneler için aşağıdaki Stream üyeler kullanılamaz:

  • BeginWrite

  • EndWrite

  • Uzunluk

  • Position

  • Seek

  • SetLength

  • Write

  • WriteByte

  • WriteTimeout

Bağlantı özelliği ContextConnection=trueyalnızca GetStream hem sıralı () hem de sıralı olmayan (SequentialAccessDefault) erişim için zaman uyumlu veri almayı destekler.

Daha fazla bilgi için bkz . SqlClient Akış Desteği.

Şunlara uygulanır