OdbcDataReader::GetBytes Method (Int32, Int64, array<Byte>^, Int32, Int32)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the particular buffer offset.

Namespace:   System.Data.Odbc
Assembly:  System.Data (in System.Data.dll)

virtual long long GetBytes(
	int i,
	long long dataIndex,
	array<unsigned char>^ buffer,
	int bufferIndex,
	int length
) override


Type: System::Int32

The zero-based column ordinal.

Type: System::Int64

The index within the field where the read operation is to start.

Type: array<System::Byte>^

The buffer into which to read the stream of bytes.

Type: System::Int32

The index within the buffer where the write operation is to start.

Type: System::Int32

The number of bytes to read.

Return Value

Type: System::Int64

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 OdbcDataReader 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 a null value, GetBytes returns the length of the field in bytes.

Conversions are performed based on the underlying capabilities of the ODBC driver. If the conversion is not supported then the method call will fail.


No exception will be thrown if the value of bufferIndex is outside the array. No data will be read and the method will return 0.

.NET Framework
Available since 1.1
Return to top