15.5.5 HiRDBDataReader
- 〈この項の構成〉
(1) コンストラクタ
HiRDBDataReader
説明:HiRDBDataReader を作成するには,コンストラクタを直接使用しないで,HiRDBCommandオブジェクトのExecuteReaderメソッドを呼び出す必要があります。
(2) プロパティ
(a) Depth
型:int
既定値:0
説明:現在の行の入れ子の深さを示す値を取得します。
(b) FieldCount
型:int
説明:現在の行の列数を取得します。
(c) HasRows
型:bool
既定値:false
説明:該当するHiRDBDataReaderに1行以上の行が格納されているかどうかを示す値を取得します。1行以上の行がHiRDBDataReaderに含まれている場合はtrue,それ以外の場合はfalseとなります。
(d) IsClosed
型:bool
既定値:false
説明:データリーダが閉じているかどうかを示す値を取得します。閉じている場合はtrue,それ以外の場合はfalseとなります。
(e) Item
- Item[string]
-
型:Object this[string name]
説明:HiRDBDataReaderオブジェクトを配列のように扱い,データを取得します。
- Item[int]
-
型:Object this[int ordinal]
説明:HiRDBDataReaderオブジェクトを配列のように扱い,データを取得します。
- Item[int, int]
-
型:Object this[int colIdx, int elmIdx]
説明:HiRDBDataReaderオブジェクトを配列のように扱い,データを取得します。
(f) RecordsAffected
型:int
既定値:0
説明:SQLステートメントの実行によって変更,挿入,又は削除された行の数を取得します。
(g) VisibleFieldCount
型:int
説明:HiRDBDataReaderの非表示ではない列数を取得します。
(3) メソッド
(a) Close
void Close ()
Return:void
説明:HiRDBDataReaderオブジェクトを閉じます。
(b) Dispose
void Dispose()
Return:void
説明:HiRDBDataReaderが使用しているすべてのリソースを解放します。
(c) GetBoolean
bool GetBoolean (int)
- 引数
-
int i:列の0から始まる序数
- Return
-
bool:列の値
説明:指定した列の値をブール値として取得します。
例外:HiRDBException
(d) GetByte
byte GetByte (int)
- 引数
-
int i:列の0から始まる序数
- Return
-
byte:指定した列の8ビット符号なし整数値
説明:指定した列の8ビット符号なし整数値を取得します。
例外:HiRDBException
(e) GetBytes
long GetBytes (int, long, byte[ ], int,int)
- 引数
-
int i:列の0から始まる序数
long fieldOffset:読み取り操作を開始する行内のインデクス
byte[] buffer:バイトのストリームを読み込むバッファ
int bufferoffset:読み取り操作を開始するbufferのインデクス
int length:読み込むバイト数
- Return
-
long:実際に読み込んだバイトの数
説明:指定したバッファオフセットを開始位置として,指定した列オフセットからバッファに,バイトのストリームを配列として読み込みます。
例外:HiRDBException
(f) GetChar
char GetChar (int)
- 引数
-
int i:列の0から始まる序数
- Return
-
char:指定した列の文字値
説明:指定した列の文字値を取得します。
例外:HiRDBException
(g) GetChars
long GetChars (int, long,char[ ], int, int)
- 引数
-
int i:列の0から始まる序数
long fieldOffset:読み取り操作を開始する行内のインデクス
char[] buffer:バイトのストリームを読み込むバッファ
int bufferoffset:読み取り操作を開始するbufferのインデクス
int length:読み込むバイト数
- Return
-
long:実際に読み込んだ文字数
説明:指定したバッファオフセットを開始位置として,指定した列オフセットからバッファに,文字のストリームを配列として読み込みます。
例外:HiRDBException
(h) GetData
GetData (int)
- 引数
-
int i:列の0から始まる序数
Return:現在サポートされていません。
説明:このメンバは,.NET Framework インフラストラクチャのサポートを目的としています。独自に作成したコード内で直接使用できません。
(i) GetDataTypeName
string GetDataTypeName (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
string:指定したフィールドのデータ型情報
説明:指定したフィールドのデータ型情報を取得します。
例外:HiRDBException
(j) GetDateTime
System.DateTime GetDateTime (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
System.DateTime:指定したフィールドの日時のデータ値
説明:指定したフィールドの日時のデータ値を取得します。
例外:HiRDBException
(k) GetDecimal
decimal GetDecimal (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
decimal:指定したフィールドの固定位置数値
説明:指定したフィールドの固定位置数値を取得します。
例外:HiRDBException
(l) GetDouble
double GetDouble (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
double:指定したフィールドの倍精度浮動小数点数
説明:指定したフィールドの倍精度浮動小数点数を取得します。
例外:HiRDBException
(m) GetEnumerator
System.Collections.IEnumerator GetEnumerator ()
- Return
-
System.Collections.IEnumerator:コレクションを反復処理するために使用できるIEnumerator
説明:コレクションを反復処理できる列挙子を返します。
(n) GetFieldArrayCount
int GetFieldArrayCount (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
int:フィールドの配列の大きさ
説明:フィールドの配列の大きさを取得します。
例外:HiRDBException
(o) GetFieldType
System.Type GetFieldType (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
System.Type:GetValueから返されるobjectの型に対応するType情報
説明:GetValueから返される,Objectの型に対応するType情報を取得します。
例外:HiRDBException
(p) GetFloat
float GetFloat (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
float:指定したフィールドの単精度浮動小数点数
説明:指定したフィールドの単精度浮動小数点数を取得します。
例外:HiRDBException
(q) GetGuid
System.Guid GetGuid (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
System.Guid:指定したフィールドのGUID値
説明:指定したフィールドのGUID値を返します。
(r) GetInt16
short GetInt16 (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
short:指定したフィールドの16ビット符号付き整数値
説明:指定したフィールドの16ビット符号付き整数値を取得します。
例外:HiRDBException
(s) GetInt32
int GetInt32 (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
int:指定したフィールドの32ビット符号付き整数値
説明:指定したフィールドの32ビット符号付き整数値を取得します。
例外:HiRDBException
(t) GetInt64
long GetInt64 (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
long:指定したフィールドの64ビット符号付き整数値
説明:指定したフィールドの64ビット符号付き整数値を取得します。
例外:HiRDBException
(u) GetName
string GetName (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
string:フィールドの名前(返される値がない場合は空の文字列(""))
説明:検索するフィールドの名前を取得します。
例外:HiRDBException
(v) GetOrdinal
int GetOrdinal (string)
- 引数
-
string name:検索するフィールドの名前
- Return
-
int:指定したフィールドのインデクス
説明:指定したフィールドのインデクスを返します。
例外:HiRDBException
(w) GetProviderSpecificFieldType
Object GetProviderSpecificFieldType (int)
- 引数
-
int ordinal:列の0から始まる序数
- Return
-
Object:指定した列のデータ型
説明:指定した列のデータ型を取得します。HiRDBデータプロバイダ for .NET Frameworkは独自のデータ型をサポートしていないため,.NET Frameworkの共通言語ランタイムに用意されているデータ型のTypeオブジェクトを返します。HiRDBDataReader#GetFieldTypeメソッドと同じ動作をします。
例外:HiRDBException
(x) GetProviderSpecificValue
Object GetProviderSpecificValue (int)
- 引数
-
int ordinal:列の0から始まる序数
- Return
-
Object:指定された列の値を持つオブジェクト
説明:指定した列の値をObjectのインスタンスとして取得します。
例外:HiRDBException
(y) GetProviderSpecificValues
int GetProviderSpecificValues (Object[])
- 引数
-
values:属性列のコピー先のObject配列(現在行の各列データを格納するObject型の配列)
- Return
-
int:配列のObjectインスタンス数
説明:現在の行のコレクション内にあるすべての属性列を取得します。
例外:HiRDBException
(z) GetSchemaTable
System.Data.DataTable GetSchemaTable ()
- Return
-
System.Data.DataTable:列メタデータを説明するDataTable
説明:HiRDBDataReaderの列メタデータを説明するDataTableを返します。
例外:HiRDBException
(aa) GetString
string GetString (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
string:指定したフィールドの文字列値
説明:指定したフィールドの文字列値を取得します。
例外:HiRDBException
(ab) GetValue
- object GetValue (int)
-
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
object:フィールドの値が返されたときにその値を格納するObject
説明:指定したフィールドの値を返します。
例外:HiRDBException
- object GetValue (int, int)
-
- 引数
-
int i:検索するフィールドのインデクス
int j:検索するフィールドのインデクス
- Return
-
object:フィールドの値が返されたときにその値を格納するObject
説明:指定したフィールドの値を返します(配列用)。
例外:HiRDBException
(ac) GetValues
int GetValues (object[ ])
- 引数
-
object values:属性フィールドのコピー先であるObjectの配列
- Return
-
int:配列のObjectのインスタンス数
説明:現在のレコードコレクション内のすべての属性フィールドを取得します。
(ad) IsDBNull
bool IsDBNull (int)
- 引数
-
int i:検索するフィールドのインデクス
- Return
-
bool:指定したフィールドがNULL値の場合はtrue,それ以外の場合はfalseとなります。繰返し列の場合は,列全体がNULL値の場合はtrue,それ以外の場合はfalseとなります。
説明:指定したフィールドがNULL値かどうかを示す値を返します。繰返し列の場合は,列全体がNULL値かどうかを示す値を返します。
- 繰返し列のNULL値判定
-
繰返し列のNULL値判定は,次の手順で行います。
-
HiRDBDataReader.IsDBNull(int)メソッドで,繰返し列全体がNULL値かどうかを判定します。
-
1.の戻り値がtrueの場合は,列全体がNULL値であるため,各要素の値はありません。falseの場合は,HiRDBDataReader.GetFieldArrayCount()メソッドで現在要素数を取得します。
-
2.で取得した要素数分HiRDBDataReader.IsDBNull(int,int)メソッドを実行して,各要素がNULL値かどうかを判定します。そこでtrueを返却された要素がNULL値となります。
-
例外:HiRDBException
(ae) NextResult
bool NextResult ()
- Return
-
bool:もっと多くの行がある場合はtrue,それ以外の場合はfalseとなります。
説明:バッチSQLステートメントの結果を読み込むときに,データリーダを次の結果に進めます。
例外:HiRDBException
(af) Read
bool Read ()
- Return
-
bool:もっと多くの行がある場合はtrue,それ以外の場合はfalseとなります。
説明:HiRDBDataReader を次のレコードに進めます。
例外:HiRDBException
(ag) IsDBNull
bool IsDBNull(int ,int)
- 引数
-
int colIdx:列の0から始まる序数
int elmIdx:繰返し列の要素番号(0から始まる序数)
- Return
-
bool:指定した繰返し列の,指定した要素がNULL値の場合true,それ以外の場合はfalseとなります。
説明:指定した繰返し列の,指定した要素がNULL値かどうかを示す値を返します。
例外:HiRDBException