ResultSetインタフェースは、データベースからSQL文の実行結果を読み込む際に使用します。データベースに接続した状態で使います。このインタフェースで定義されているメソッドを使って1件ずつ読み込むことができます。読み込むときにはカーソル(指し棒)の考え方を使います。カーソルを動かして、カーソルが指す行を読み込みます。
メソッド名 | 概要 |
---|---|
absolute | カーソルを指定した行に移動する |
afterLast | カーソルを最終行の直後に移動する |
close | このオブジェクトを閉じる |
first | カーソルを先頭行に移動する |
getArray | 現在の行の列の値を、Arrayオブジェクトとして取得する |
getDate | 現在の行の列の値を、Dateオブジェクトとして取得する |
getDouble | 現在の行の列の値を、double値として取得する |
getInt | 現在の行の列の値を、int値として取得する |
getRow | 現在の行番号を取得する |
getString | 現在の行の列の値を、Stringオブジェクトとして取得する |
isClose | このオブジェクトが閉じているかどうかを取得する |
isFirst | カーソルが先頭行にあるかどうかを取得する |
isLast | カーソルが最終行にあるかどうかを取得する |
last | カーソルを最終行に移動する |
next | カーソルを次の行に移動する |
previous | カーソルを前の行に移動する |
○ プロジェクト
プロジェクトを作成して確認してみましょう。Usersテーブルからデータを読み込むプログラムを作成してみましょう。
プロジェクト名 | ResultSetTest |
---|
〇 作成の準備
StatementTestプロジェクトをコピーして作成してください。
○ プログラム
mainメソッドに次のように記述してください。
○ 実行結果
ID:1 ユーザー名:sato パスワード:** 氏名:佐藤
ID:2 ユーザー名:suzuki パスワード:** 氏名:鈴木
ID:3 ユーザー名:takahashi パスワード:** 氏名:高橋
ID:4 ユーザー名:tanaka パスワード:** 氏名:田中
○ 解説
29行目で、Usersテーブルから全件取得するSQL文を作成しています。そして、35行目でSQL文を実行しています。executeQueryメソッドはResultSetオブジェクトを返します。このオブジェクトを使って、SQL文の実行結果を取り出します。このオブジェクトは、初期状態でカーソルは1件目の前を指しています。データを読み込む場合は、38行目にあるようにnextメソッドを呼び出してカーソルをずらします。今回はwhile文の条件でnextメソッドを使っていますが、nextメソッドはカーソルで指すデータがなくなるとfalseを返すので、レコードがある間繰り返すようになります。
39~42行目でカーソルが指しているレコードのデータを読み込んでいます。2つの方法でデータを読み込んでいます。39,41,42行目では、1から始まる列番号を指定しています。40行目では列名を指定しています。データを読み込み終わった後、46行目でResutlSetを閉じています。これ以降、取得したResultSetを使ってSQL文の実行結果を読み込むことができなくなります。