ResultSet インターフェース

ResultSet インターフェースは、データ表へのアクセスを提供します。ResultSet オブジェクトは通常、 ステートメントを実行することによって生成されます。

ResultSet は、データの現在行を指すカーソルを保存しています。最初に、 カーソルは始めの行の前に置かれます。next() メソッドは、カーソルを次の行へ 移動させます。

getXXX メソッドは、現在行の列の値を検索します。列の索引番号または列の名前 のいずれかを使用して、値を検索することができます。通常は、 列索引を使用するほうが効率的です。列は 1 から番号が付けられます。

java.sql パッケージ

共通インターフェース ResultSet

表 102は、DB2 Everyplace がサポートする ResultSet インターフェースを リストしたものです。

表 102. ResultSet インターフェース・フィールド

フィールド・タイプ フィールド
static int CONCUR_READ_ONLY 更新できない ResultSet オブジェクトの 並行性モードを示す定数。: CONCUR_UPDATABLE は DB2 Everyplace では サポートされない。ステートメント・オブジェクトを作成する 際に ResultSet オブジェクト用に CONCUR_UPDATABLE を並行性モードに指定すると、DB2 Everyplace JDBC ドライバーはステートメントを作成した Connection オブジェクトに ついて SQLWarning を発行し、代わりに CONCUR_READ_ONLY を使用する。
static int TYPE_FORWARD_ONLY カーソルが順方向のみに 動く ResultSet オブジェクト用のタイプを示す定数。
static int TYPE_SCROLL_INSENSITIVE スクロール可能であるが、通常は他からの変更に影響されない ResultSet オブジェクトのタイプを示す定数。: パフォーマンスに影響するため、このタイプの ResultSet オブジェクトは控えめに 使用してください。このタイプは、CLI ステートメント 属性 SQL_ATTR_CURSOR_SENSITIVITY の値の SQL_INSENSITIVE を使用します。詳細に ついては、CLI 関数 SQLSetStmtAttr の資料を参照してください。
static int TYPE_SCROLL_SENSITIVE スクロール可能であるが、通常は他からの変更に影響されない ResultSet オブジェクトのタイプを 示す定数。: このタイプは、CLI ステートメント属性 SQL_ATTR_CURSOR_SENSITIVITY の値の SQL_UNSPECIFIED を 使用します。 詳細については、CLI 関数 SQLSetStmtAttr の資料を参照してください。

表 103は、DB2 Everyplace がサポートする ResultSet インターフェースの メソッドをリストしたものです。

表 103. ResultSet インターフェース・メソッド

メソッドの戻り値タイプ メソッド
boolean absolute(int row) JDBC 2.0。カーソルを結果セットの指定された行番号 に移動する。
void afterLast() JDBC 2.0。カーソルを結果セットの最後、つまり最終行の後に移動する。
void beforeFirst() JDBC 2.0。カーソルを結果セットの先頭、つまり最初の行の前に移動する。
void clearWarnings() この ResultSet オブジェクトで報告されるすべての警告をクリアする。
void close() この ResultSet オブジェクトのデータベースおよび JDBC リソースを、オブジェクトが自動的に クローズしてそれらが解放されるのを待たずに、直ちに解放する。
int findColumn(String columnName) 指定された ResultSet 列名を ResultSet 列索引にマップする。
boolean first() JDBC 2.0。カーソルを結果セットの最初の行に移動する。
BigDecimal getBigDecimal(int columnIndex) JDBC 2.0。現在行の列の値を完全精度の java.math.BigDecimal オブジェクト として取得する。このメソッドは、Palm OS 用の DB2 Everyplace JDBC ドライバー ではサポートされない。
BigDecimal getBigDecimal(int columnIndex, int scale) この ResultSet オブジェクトの 現在行の指定された列の値を、Java プログラム言語の java.math.BigDecimal オブジェクトとして 取得する。このメソッドは、Palm OS 用の DB2 Everyplace JDBC ドライバー ではサポートされない。使用すべきでない。
BigDecimal getBigDecimal(String columnName) JDBC 2.0。現在行の列の値を完全精度の java.math.BigDecimal オブジェクト として取得する。このメソッドは、Palm OS 用の DB2 Everyplace JDBC ドライバー ではサポートされない。
BigDecimal getBigDecimal(String columnName, int scale) この ResultSet オブジェクトの 現在行の指定された列の値を、Java プログラム言語の java.math.BigDecimal オブジェクトとして 取得する。このメソッドは、Palm OS 用の DB2 Everyplace JDBC ドライバー ではサポートされない。使用すべきでない。
Blob getBlob(int columnIndex) JDBC 2.0。この ResultSet オブジェクトの現在行の BLOB 値 を取得する。
Blob getBlob(String columnName) JDBC 2.0。この ResultSet オブジェクトの現在行の BLOB 値 を取得する。
boolean getBoolean(int columnIndex) 現在行の列の値を Java boolean として取得する。
boolean getBoolean(String columnName) 現在行の列の値を Java boolean として取得する。
byte getByte(int columnIndex) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語のバイトとして取得する。
byte getByte(String columnName) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語のバイトとして取得する。
byte[] getBytes(int columnIndex) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語のバイト配列として取得する。
byte[] getBytes(String columnName) この ResultSet オブジェクトの現在行 の指定された列の値を Java プログラム言語のバイト配列として取得する。
int getConcurrency() JDBC 2.0。結果セットの並行性モードを戻す。
Date getDate(int columnIndex) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語の java.sql.Date オブジェクトとして取得する。
Date getDate(int columnIndex, Calendar cal) この ResultSet オブジェクトの現在行の 指定された列の値を、Java プログラム言語の java.sql.Date オブジェクトとして取得する。
Date getDate(String columnName) この ResultSet オブジェクトの現在行 の指定された列の値を Java プログラム言語の java.sql.Date オブジェクトとして取得する。
double getDouble(int columnIndex) 現在行の列の値を Java double として取得する。
double getDouble(String columnName) 現在行の列の値を Java double として取得する。
float getFloat(int columnIndex) 現在行の列の値を Java float として取得する。
float getFloat(String columnName) 現在行の列の値を Java float として取得する。
int getInt (int columnIndex) この ResultSet オブジェクトの現在行の指定された列の値を、Java プログラム言語 の整数として取得する。
int getInt (String columnName) この ResultSet オブジェクトの現在行の指定された列の値を Java プログラム言語 の整数として取得する。
long getLong(int columnIndex) 現在行の列の値を Java long として取得する。
long getLong(String columnName) 現在行の列の値を Java long として取得する。
ResultSetMetaData getMetaData() この ResultSet オブジェクトの列の数、タイプ、プロパティーを検索する。
Object getObject(int columnIndex) 現在行の列の値を Java オブジェクトとして取得する。
Object getObject(String columnName) 現在行の列の値を Java オブジェクトとして取得する。
int getRow() JDBC 2.0。現在行の番号を検索する。
short getShort(int columnIndex) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語の short として取得する。
short getShort(String columnName) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語の short として取得する。
Statement getStatement() JDBC 2.0。この ResultSet オブジェクトを作成した Statement を戻す。
String getString(int columnIndex) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語の String として取得する。
String getString(String columnName) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語の String として取得する。
Time getTime(int columnIndex) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語の java.sql.Time オブジェクトとして取得する。
Time getTime(String columnName) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語の java.sql.Time オブジェクトとして取得する。
Timestamp getTimestamp(String columnName) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語の java.sql.Timestamp オブジェクトとして取得する。
Timestamp getTimestamp(int columnIndex) この ResultSet オブジェクトの現在行 の指定された列の値を、Java プログラム言語の java.sql.Timestamp オブジェクトとして取得する。
int getType() JDBC 2.0。この結果セットのタイプを戻す。
SQLWarning getWarnings() この ResultSet での呼び出しにより報告された最初の警告を戻す。
boolean isAfterLast() JDBC 2.0。カーソルが結果セットの最終行の後にあるかどうかを示す。
boolean isBeforeFirst() JDBC 2.0。カーソルが結果セットの最初の行の前にあるかどうかを示す。
boolean isFirst() JDBC 2.0。カーソルが結果セットの最初の行にあるかどうかを示す。
boolean isLast() JDBC 2.0。カーソルが結果セットの最終行にあるかどうかを示す。 このメソッドは、タイプ TYPE_FORWARD_ONLY の結果セットではサポートされない。
boolean last() JDBC 2.0。カーソルを結果セットの最終行に移動する。
boolean next() カーソルを 現在位置から 1 行下へ移動させる。
boolean previous() JDBC 2.0。カーソルを結果セットの直前の行に移動する。
boolean relative(int rows) JDBC 2.0。カーソルを正または負の相対行数の分移動する。
boolean wasNull() 最後に 読み取られた列の値が SQL NULL であるかどうかを報告する。

関連したタスク

関連した解説