Hitachi

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


17.4.10 Arrayインタフェース

〈この項の構成〉

(1) 概要

Arrayインタフェースでは,繰返し列のアクセス手段として主に次の機能が提供されます。

JDBCドライバは,ArrayインタフェースをPrdbArrayクラスで実装します。

PrdbArrayクラスのオブジェクトは,ResultSetのgetArrayメソッドの返却値として,JDBCドライバが生成します。

(2) メソッド

Arrayインタフェースのメソッド一覧を次の表に示します。なお,表に記載されていないメソッドはサポートしていません。サポートしていないメソッドを指定すると,SQLExceptionを投入します。

表17‒70 Arrayインタフェースのメソッド一覧

メソッド

提供ドライバ

機能

JDBC2.0

JDBC4.0

getArray()

繰返し列の全要素をObject配列として取得します。

getArray(long index, int count)

繰返し列の要素の一部を取り出します。

getBaseType()

PrdbArrayオブジェクトが表す繰返し列のJDBCの型を,java.sql.Typesクラスの定数として取得します。

getBaseTypeName()

PrdbArrayオブジェクトが表す繰返し列のデータ型名を取得します。

getResultSet()

繰返し列の要素を保持するResultSetオブジェクトを返します。

getResultSet(long index,int count)

繰返し列の要素を保持するResultSetオブジェクトを返します。

(凡例)

○:提供されます。

(a) getArray()

【機能】

繰返し列の全要素をObject配列として取得します。

【形式】
public Object getArray() throws SQLException
【引数】

なし。

【戻り値】

繰返し列の全要素

【機能詳細】

繰返し列の全要素をObject配列として取得します。

PrdbArrayオブジェクト内に保持している繰返し列の要素をObject配列の形式で返します。返される配列のデータ型は次のとおりです。

HiRDBのデータ型

返される配列

SMALLINT

java.lang.Short[]

INTEGR

java.lang.Integer[]

SMALLFLT,REAL

java.lang.Float[]

FLOAT,DOUBLE PRECISION

java.sql.Double[]

DECIMAL

java.math.BigDecimal[]

CHAR,NCHAR,MCHAR

java.lagn.String[]

VARCHAR,NVARCHAR,MVARCHAR

java.lagn.String[]

DATE

java.sql.Date[]

TIME

java.sql.Time[]

TIMESTAMP

java.sql.Timestamp[]

BINARY,BLOB

java.io.InputStream[]

注※

HiRDBではBLOB,BINARYの繰返し列は未サポートであり,PrdbArrayオブジェクトを作ることができないため,実際に返されることはありません。

【発生する例外】

次の場合,SQLExceptionを投入します。

  • このPrdbArrayオブジェクトを生成したPrdbResultSetオブジェクトがcloseされている場合

    PrdbResultSetオブジェクトを生成したPrdbStatementオブジェクトをcloseしたことによって,このドライバがPrdbResultSetオブジェクトをcloseした場合を含みます。

  • このPrdbArrayオブジェクトを生成したPrdbResultSetオブジェクトを生成したPrdbStatementオブジェクトを生成したConnectionオブジェクトがcloseされている場合

  • CltResultSet#getXXX()でエラーが発生した場合

(b) getArray(long index, int count)

【機能】

繰返し列の要素の一部を取り出します。指定されたインデクスから,最大で指定された要素数分Object配列として取得します。

【形式】
public Object getArray(long index, int count) throws SQLException
【引数】
long index:

最初に取り出す要素のインデクス(最初の要素は1)

int count:

取得する連続する配列要素の数

【戻り値】

指定されたインデクスからcountで指定された要素数分のObject配列。

【機能詳細】

繰返し列の要素の一部を取り出します。指定されたインデクスから,最大で指定された要素数分Object配列として取得します。

引数indexと引数countに指定された値による返される配列の関係を次に示します。

index

count

(index+count)

返される配列

0<index<=要素数

0<=count

(index+count)−1<=要素数

長さがcount分の配列

(index+count)−1>要素数

要素数−(index−1)分の長さを持つ配列

count < 0

SQLExceptionを投入

index>要素数

SQLExceptionを投入

index<1

SQLExceptionを投入

(凡例)

−:該当しません。

【発生する例外】

次の場合,SQLExceptionを投入します。

  • このPrdbArrayオブジェクトを生成したPrdbResultSetオブジェクトがcloseされている場合

    PrdbResultSetオブジェクトを生成したPrdbStatementオブジェクトをcloseしたことによって,このドライバがPrdbResultSetオブジェクトをcloseした場合を含みます。

  • このPrdbArrayオブジェクトを生成したPrdbResultSetオブジェクトを生成したPrdbStatementオブジェクトを生成したConnectionオブジェクトがcloseされている場合

  • CltResultSet#getXXX()でエラーが発生した場合

  • 指定された引数の値が,index<1又はcount<0の場合

  • 指定された引数の値が,index>要素数の場合

(c) getBaseType()

【機能】

PrdbArrayオブジェクトが表す繰返し列のJDBCの型を,java.sql.Typesクラスの定数として取得します。

【形式】
public int getBaseType() throws SQLException
【引数】

なし。

【戻り値】

PrdbArrayオブジェクトが表す繰返し列のJDBCの型を表す,java.sql.Typesクラスの定数

【発生する例外】

なし。

(d) getBaseTypeName()

【機能】

PrdbArrayオブジェクトが表す繰返し列のデータ型名を取得します。

【形式】
public String getBaseTypeName() throws SQLException
【引数】

なし。

【戻り値】

HiRDBのデータ型名

【発生する例外】

なし。

(e) getResultSet()

【機能】

繰返し列の要素を保持するResultSetオブジェクトを返します。

【形式】
public ResultSet getResultSet()
【引数】

なし。

【戻り値】

ResultSetオブジェクト

【発生する例外】

次の場合,SQLExceptionを投入します。

  • このPrdbArrayオブジェクトを生成したPrdbResultSetオブジェクトがcloseされている場合

    PrdbResultSetオブジェクトを生成したPrdbStatementオブジェクトをcloseしたことによって,このドライバがPrdbResultSetオブジェクトをcloseした場合を含みます。

  • このPrdbArrayオブジェクトを生成したPrdbResultSetオブジェクトを生成したPrdbStatementオブジェクトを生成したConnectionオブジェクトがcloseされている場合

  • JDBCドライバでエラーが発生した場合

(f) getResultSet(long index,int count)

【機能】

繰返し列の要素を保持するResultSetオブジェクトを返します。

【形式】
public ResultSet getResultSet(long index,int count) throws SQLException
【引数】
long index:

最初に取り出す要素のインデクス(最初の要素は1)

int count:

取得する連続する配列要素の数

【戻り値】

ResultSetオブジェクト。

【機能詳細】

繰返し列の要素を保持するResultSetオブジェクトを返します。

ResultSetオブジェクトは,指定されたインデクスで始まり,最大でカウント数分の連続した繰返し列の要素を持ちます。

引数indexと引数countに指定された値による返されるResultSetオブジェクトの関係を次に示します。

index

count

(index+count)

返されるResultSet

0<index<=要素数

0<=count

(index+count)−1<=要素数

行数がcount分の結果集合

(index−1+count)−1>要素数

要素数−(index−1)分の行数を持つ結果集合

count<0

SQLExceptionを投入

index>要素数

SQLExceptionを投入

index<1

SQLExceptionを投入

(凡例)

−:該当しません。

【発生する例外】

次の場合,SQLExceptionを投入します。

  • このPrdbArrayオブジェクトを生成したPrdbResultSetオブジェクトがcloseされている場合

    PrdbResultSetオブジェクトを生成したPrdbStatementオブジェクトをcloseしたことによって,このドライバがPrdbResultSetオブジェクトをcloseした場合を含みます。

  • このPrdbArrayオブジェクトを生成したPrdbResultSetオブジェクトを生成したPrdbStatementオブジェクトを生成したConnectionオブジェクトがcloseされている場合

  • 指定された引数の値が,index<1又はcount<0の場合

  • 指定された引数の値が,index>要素数の場合

(3) パッケージ名称及びクラス名称

このインタフェースを実装するパッケージ名称とクラス名称を次に示します。

パッケージ名称:JP.co.Hitachi.soft.HiRDB.JDBC

クラス名称:PrdbArray