17.4.10 Arrayインタフェース
- 〈この項の構成〉
(1) 概要
Arrayインタフェースでは,繰返し列のアクセス手段として主に次の機能が提供されます。
-
SQL Array値の取得
-
SQL Array値を格納した結果セットの取得
JDBCドライバは,ArrayインタフェースをPrdbArrayクラスで実装します。
PrdbArrayクラスのオブジェクトは,ResultSetのgetArrayメソッドの返却値として,JDBCドライバが生成します。
(2) メソッド
Arrayインタフェースのメソッド一覧を次の表に示します。なお,表に記載されていないメソッドはサポートしていません。サポートしていないメソッドを指定すると,SQLExceptionを投入します。
メソッド |
提供ドライバ |
機能 |
|
---|---|---|---|
JDBC2.0 |
JDBC4.0 |
||
○ |
○ |
繰返し列の全要素をObject配列として取得します。 |
|
○ |
○ |
繰返し列の要素の一部を取り出します。 |
|
○ |
○ |
PrdbArrayオブジェクトが表す繰返し列のJDBCの型を,java.sql.Typesクラスの定数として取得します。 |
|
○ |
○ |
PrdbArrayオブジェクトが表す繰返し列のデータ型名を取得します。 |
|
○ |
○ |
繰返し列の要素を保持するResultSetオブジェクトを返します。 |
|
○ |
○ |
繰返し列の要素を保持する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[]※
- 【発生する例外】
-
次の場合,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