This documentation is archived and is not being maintained.

SqlDataReader.GetChars Method

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

[Visual Basic]
Public Overridable Function GetChars( _
   ByVal i As Integer, _
   ByVal dataIndex As Long, _
   ByVal buffer() As Char, _
   ByVal bufferIndex As Integer, _
   ByVal length As Integer _
) As Long Implements IDataRecord.GetChars
[C#]
public virtual long GetChars(
 int i,
 long dataIndex,
 char[] buffer,
 int bufferIndex,
 int length
);
[C++]
public: virtual __int64 GetChars(
 int i,
 __int64 dataIndex,
 __wchar_t buffer __gc[],
 int bufferIndex,
 int length
);
[JScript]
public function GetChars(
   i : int,
 dataIndex : long,
 buffer : Char[],
 bufferIndex : int,
 length : int
) : long;

Parameters

i
The zero-based column ordinal.
dataIndex
The index within the row from which to begin the read operation.
buffer
The buffer into which to copy data.
bufferIndex
The index for buffer to begin the read operation.
length
The maximum number of characters to read.

Return Value

The actual number of characters read.

Implements

IDataRecord.GetChars

Remarks

GetChars returns the number of available characters in the field. In most cases 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 a null reference (Nothing in Visual Basic), GetChars returns the length of the field in characters.

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

Note   You cannot use GetChars to read a VarChar column in chunks if CommandBehavior is set to SequentialAccess.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

SqlDataReader Class | SqlDataReader Members | System.Data.SqlClient Namespace

Show: