SqlDataReader.GetChars(Int32, Int64, Char[], Int32, Int32) Method

Definition

Reads a stream of characters from the specified column offset into the buffer as an array starting at the given buffer offset.

public:
 override long GetChars(int i, long dataIndex, cli::array <char> ^ buffer, int bufferIndex, int length);
public override long GetChars (int i, long dataIndex, char[] buffer, int bufferIndex, int length);
override this.GetChars : int * int64 * char[] * int * int -> int64
Public Overrides Function GetChars (i As Integer, dataIndex As Long, buffer As Char(), bufferIndex As Integer, length As Integer) As Long

Parameters

i
Int32

The zero-based column ordinal.

dataIndex
Int64

The index within the field from which to begin the read operation.

buffer
Char[]

The buffer into which to read the stream of bytes.

bufferIndex
Int32

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

length
Int32

The maximum length to copy into the buffer.

Returns

The actual number of characters read.

Implements

Remarks

GetChars returns the number of available characters in the field. Frequently this is the exact length of the field. However, the number returned may be less than the true length of the field if GetChars has already been used to obtain characters 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.

The actual number of characters read can be less than the requested length, if the end of the field is reached. If you pass a buffer that is null, GetChars returns the length of the entire field in characters, not the remaining size based on the buffer offset parameter.

No conversions are performed; therefore. the data retrieved must already be a character array.

Note

The GetChars method returns 0 when dataIndex is negative.

Applies to