1
import java.sql.Connection;
2 import java.sql.DriverManager;
3 import java.sql.ResultSet;
4 import java.sql.Statement;
5
6 /**/ /**
7 * コントロールブレイク
8 */
9 public class ControlBreak {
10
11 public static void main(String[] args) {
12
13 try {
14 //データベース接続
15 Class.forName("org.postgresql.Driver");
16 Connection con = DriverManager.getConnection(
17 "jdbc:postgresql:hellodb", "user", "pass");
18 Statement stmt = con.createStatement();
19 //SQL文
20 String sql = "SELECT * FROM TABLE ORDER BY CONTROL_KEY";
21 // SQL実行
22 ResultSet rs = stmt.executeQuery(sql);
23
24 //コントロールキーと合計の初期化
25 String controlKeyOld = null;
26 int total = 0;
27
28 //レコードがなくなるまでループ
29 while (rs.next()) {
30 //コントロールキー取得
31 String controlKeyNow = rs.getString("CONTROL_KEY");
32 //初回ループ時
33 if (controlKeyOld == null) {
34 controlKeyOld = controlKeyNow;
35 }
36
37 //コントロールキーの比較
38 if (controlKeyOld.equals(controlKeyNow)) {
39 //コントロールキーが等しい場合
40 total = +rs.getInt("SALES_AMOUNT");
41 } else {
42 //コントロールキーが異なる場合
43 System.out.println(controlKeyOld + ":" + total);
44 total = rs.getInt("SALES_AMOUNT");
45 }
46 //コントロールキーの退避
47 controlKeyOld = controlKeyNow;
48 }
49
50 System.out.println(controlKeyOld + ":" + total);
51
52 //データベース切断
53 rs.close();
54 stmt.close();
55 con.close();
56
57 } catch (Exception e) {
58 //例外処理
59 e.printStackTrace();
60 }
61 }
62}
63
2 import java.sql.DriverManager;
3 import java.sql.ResultSet;
4 import java.sql.Statement;
5
6 /**/ /**
7 * コントロールブレイク
8 */
9 public class ControlBreak {
10
11 public static void main(String[] args) {
12
13 try {
14 //データベース接続
15 Class.forName("org.postgresql.Driver");
16 Connection con = DriverManager.getConnection(
17 "jdbc:postgresql:hellodb", "user", "pass");
18 Statement stmt = con.createStatement();
19 //SQL文
20 String sql = "SELECT * FROM TABLE ORDER BY CONTROL_KEY";
21 // SQL実行
22 ResultSet rs = stmt.executeQuery(sql);
23
24 //コントロールキーと合計の初期化
25 String controlKeyOld = null;
26 int total = 0;
27
28 //レコードがなくなるまでループ
29 while (rs.next()) {
30 //コントロールキー取得
31 String controlKeyNow = rs.getString("CONTROL_KEY");
32 //初回ループ時
33 if (controlKeyOld == null) {
34 controlKeyOld = controlKeyNow;
35 }
36
37 //コントロールキーの比較
38 if (controlKeyOld.equals(controlKeyNow)) {
39 //コントロールキーが等しい場合
40 total = +rs.getInt("SALES_AMOUNT");
41 } else {
42 //コントロールキーが異なる場合
43 System.out.println(controlKeyOld + ":" + total);
44 total = rs.getInt("SALES_AMOUNT");
45 }
46 //コントロールキーの退避
47 controlKeyOld = controlKeyNow;
48 }
49
50 System.out.println(controlKeyOld + ":" + total);
51
52 //データベース切断
53 rs.close();
54 stmt.close();
55 con.close();
56
57 } catch (Exception e) {
58 //例外処理
59 e.printStackTrace();
60 }
61 }
62}
63