Data Reader. Get Bytes(Int32, Int64, Byte, Int32, Int32) Method
Reads a stream of bytes from the specified column offset into the buffer an array starting at the given buffer offset.
public: virtual long GetBytes(int i, long dataIndex, cli::array <System::Byte> ^ buffer, int bufferIndex, int length);
public long GetBytes (int i, long dataIndex, byte buffer, int bufferIndex, int length);
abstract member GetBytes : int * int64 * byte * int * int -> int64 override this.GetBytes : int * int64 * byte * int * int -> int64
Public Function GetBytes (i As Integer, dataIndex As Long, buffer As Byte(), bufferIndex As Integer, length As Integer) As Long
The zero-based column ordinal.
The index within the field from which to begin the read operation.
The buffer into which to read the stream of bytes.
The index within the
buffer where the write operation is to start.
The maximum length to copy into the buffer.
The actual number of bytes read.
GetBytes returns the number of available bytes in the field. Most of the time this is the exact length of the field. However, the number returned may be less than the true length of the field if
GetBytes has already been used to obtain bytes from the field. This may be the case, for example, if the SqlDataReader is reading a large data structure into a buffer. For more information, see the
SequentialAccess setting for CommandBehavior.
If you pass a buffer that is
null, GetBytes returns the length of the entire field in bytes, not the remaining size based on the buffer offset parameter.
No conversions are performed; therefore, the data retrieved must already be a byte array.