SqlDataReader.GetBytes(Int32, Int64, Byte[], Int32, Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從指定資料行位移將位元組資料流讀取到緩衝區中,作為以指定的緩衝區位移開頭的陣列。
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
參數
- i
- Int32
以零為基底的資料行序數。
- dataIndex
- Int64
欄位內開始讀取作業的索引。
- buffer
- Byte[]
要將位元組資料流讀取到其中的緩衝區。
- bufferIndex
- Int32
buffer
內寫入作業開始之處的索引。
- length
- Int32
複製入緩衝區的最大長度。
傳回
讀取的實際位元組數目。
實作
備註
GetBytes 會傳回欄位中可用的位元組數目。 在大部分情況下,這是欄位的確切長度。 不過,如果 GetBytes
已經用來從欄位取得位元組,傳回的數位可能小於欄位的 true 長度。 例如,如果 SqlDataReader 正在將大型資料結構讀入緩衝區,則可能是這種情況。 如需詳細資訊,請參閱 SequentialAccess
的 CommandBehavior 設定。
如果您傳遞的緩衝區為 null
, GetBytes 則會以位元組為單位傳回整個欄位的長度,而不是根據緩衝區位移參數的剩餘大小。
不會執行轉換;因此,擷取的資料必須已經是位元組陣列。