MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

JDBCプログラムでResultSetを操作する方法!next()とprevious()による行移動の基本

ResultSetインターフェースのnext()メソッドは、現在位置から次の行へポインター(カーソル)を移動させるためのメソッドです。このメソッドはboolean値を返し、現在位置より先に行が存在しない場合はfalse、存在する場合はtrueを返します。

そのため、このメソッドをwhileループ内で使用することで、ResultSetオブジェクトの内容を1行ずつ順番に処理することができます。

while(rs.next()){
}

各レコードの列(カラム)値を取得する

ResultSetインターフェースは、行の各列の値を取得するためのgetterメソッド(getXXX())も提供しています。各getterメソッドには、次の2つのバリエーションがあります。

  • getXXX(int columnIndex): 列のインデックス番号を表す整数値を受け取り、その列の値を返します。

  • getXXX(String columnLabel): 列名を表す文字列を受け取り、その列の値を返します。

どのgetterメソッドを使用するかは、テーブルの列のデータ型に応じて選択する必要があります。例えば、文字列型ならgetString()、整数型ならgetInt()、日付型ならgetDate()といった具合です。

while(rs.next()) {
   System.out.print("Brand: "+rs.getString("Column_Name")+", ");
   System.out.print("Sale: "+rs.getString("Column_Name"));
   System.out.println("");
}

双方向ResultSetで後方へ移動する方法

同じように、双方向(スクロール可能)なResultSetオブジェクトの場合は、previous()メソッドを使用して後方へ移動することも可能です。

ただし、ResultSetオブジェクトのポインターはデフォルトで先頭行の直前に配置されています。そのため、後方へたどるには、まずポインター/カーソルを最終行の直後に移動させてから、previous()メソッドで逆方向に処理を進める必要があります。

rs.afterLast();

System.out.println("Contents of the table");
while(rs.previous()) {
   System.out.print("Brand: "+rs.getString("Mobile_Brand")+", ");
   System.out.print("Sale: "+rs.getString("Unit_Sale"));
   System.out.println("");
}

なお、双方向のResultSetを使用するには、Statement作成時にConnection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY)のようにスクロールタイプを指定する必要がある点にも注意してください。

  1. Windowsのプログラムをシステムトレイ(通知領域)に最小化する3つの方法

    Windowsのインターフェースは、長年にわたって数多くの変遷を遂げてきました。スタートメニューのように多くのユーザーに愛された機能もあれば、Windows 8のMetroインターフェースのように不評だったものもあります。 最小化したウィンドウが並ぶタスクバーは、強い嫌悪感を抱かれる存在ではありません。しかし、起動しているプログラムが多いと、あっという間に窮屈になってしまいます。特に常時起動しておく必要のあるアプリケーションの中には、タスクバーのスペースを占有する必要がないものも少なくありません。 残念ながら、Windowsにはウィンドウを「通知領域」(旧称:システムトレイ)へ直接最小化する標

  2. タスクスケジューラで起動時や指定時刻にプログラムを自動実行する方法【Windows】

    Windowsの起動時や指定した時刻にプログラムを自動的に開始させたい方は、ぜひこのチュートリアルをご覧ください。タスクスケジューラを使った設定手順を、初心者にもわかりやすく解説していきます。 スタートアップフォルダの方法では不十分なケースがある 通常、Windowsのスタートアップにプログラムを追加するには、対象プログラムのショートカットを「スタートアップ」フォルダに置くのが一般的な方法です。しかし、この方法は常に機能するとは限りません。特に、プログラムが管理者権限を必要とする場合には、正しく起動しないことがあります。 この問題を回避するには、レジストリを使ってスタートアップに登録するか、タ