Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


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値判定は,次の手順で行います。

  1. HiRDBDataReader.IsDBNull(int)メソッドで,繰返し列全体がNULL値かどうかを判定します。

  2. 1.の戻り値がtrueの場合は,列全体がNULL値であるため,各要素の値はありません。falseの場合は,HiRDBDataReader.GetFieldArrayCount()メソッドで現在要素数を取得します。

  3. 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