次の方法で共有


SqlDataReader.GetChars メソッド

指定した列オフセットからの文字ストリームを、配列としてバッファに読み込みます。読み込みは、指定したバッファ オフセットから開始されます。

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(inti,longdataIndex,char[] buffer,intbufferIndex,intlength);
[C++]
public: virtual __int64 GetChars(inti,__int64dataIndex,__wchar_tbuffer __gc[],intbufferIndex,intlength);
[JScript]
public function GetChars(
   i : int,dataIndex : long,buffer : Char[],bufferIndex : int,length : int) : long;

パラメータ

  • i
    列の 0 から始まる序数。
  • dataIndex
    読み込みを開始する行内のインデックス。
  • buffer
    データのコピー先のバッファ。
  • bufferIndex
    読み取り操作を開始する buffer のインデックス。
  • length
    読み取り対象の最大文字数。

戻り値

実際に読み込まれた文字数。

実装

IDataRecord.GetChars

解説

GetChars は、フィールド内で利用可能な文字数を返します。ほとんどの場合、これは正確なフィールド長です。ただし、既に GetChars を使用してフィールドから文字を取得している場合は、返される文字数が、フィールドの実際の長さよりも小さくなることがあります。これは、 SqlDataReader が大きいデータ構造体をバッファに読み込んでいるときなどに起こります。詳細については、 CommandBehaviorSequentialAccess 設定のトピックを参照してください。

フィールドの末尾に達した場合は、実際に読み込まれる文字数が、要求した文字数より少なくなることがあります。 null 参照 (Visual Basic では Nothing) のバッファを渡すと、 GetChars は、文字単位のフィールド長を返します。

変換は実行されません。したがって、取得されたデータは既に文字配列である必要があります。

メモ    CommandBehaviorSequentialAccess に設定されている場合は、 GetChars を使用して VarChar 列をチャンクとして読み取ることはできません。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

SqlDataReader クラス | SqlDataReader メンバ | System.Data.SqlClient 名前空間