質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Swing

SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

Q&A

0回答

794閲覧

DBのカーソル移動をボタン機能に付与する方法

mmatt

総合スコア5

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Swing

SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

0グッド

0クリップ

投稿2021/04/22 02:26

編集2021/04/22 07:56

表題の件で
ボタンの押下後、レコードを順次表示する方法が分かりません。
実装したいボタンは、以下の4つです。
1.次のレコードを表示 2.前のレコードを表示
3.先頭のレコードを表示 4.最後のレコードを表示

下記の画像がボタンのイメージになります。
イメージ説明

現在、下記のコードで先頭行のレコードは表示できています。

調べたことは
各ボタンに下記のメソッドを使用するのだろうと思い、色々試行しています。
1.next() 2.previous() 3.first() 4.last()

while文を消して、rs.next();にすれば1行目が表示されますが、
これを、ボタンに付与する際のコードの書き方、が分かっていない状況です。

リザルトセットのリファレンスは読みましたが、解決できませんでした。
サンプルコードも検索してみましたが見つけれませんでした。

サンプルコード、参考サイト等があれば、ご教授お願いします。

Java

1public void DB_hyouzi() { 2 //DBをテキストフィールド・コンボボックスに表示 3 //文字コードの設定 4 String dburi = "mysql://127.0.01:3306/new_" 5 + "?useUnicode=true&characterEncoding=utf8"; 6 7 try { 8 //DBとの接続 9 Class.forName("com.mysql.cj.jdbc.Driver"); 10 Connection conn = DriverManager.getConnection( 11 "jdbc:" + dburi, "root", "psw"); 12 13 String sql1 = "select * from Adata limit 1;"; 14 String sql2 = "select * from Bdata limit 1;"; 15 String sql3 = "select * from Cdata limit 1;"; 16 17 18 PreparedStatement st = conn.prepareStatement(sql1 19 ,ResultSet.TYPE_SCROLL_INSENSITIVE 20 ,ResultSet.CONCUR_READ_ONLY); 21 PreparedStatement st2 = conn.prepareStatement(sql2 22 ,ResultSet.TYPE_SCROLL_INSENSITIVE 23 ,ResultSet.CONCUR_READ_ONLY); 24 PreparedStatement st3 = conn.prepareStatement(sql3 25 ,ResultSet.TYPE_SCROLL_INSENSITIVE 26 ,ResultSet.CONCUR_READ_ONLY); 27 System.out.println("MySQLに接続できました!"); 28 ResultSet rs = st.executeQuery(sql1); 29 ResultSet rs2 = st2.executeQuery(sql2); 30 ResultSet rs3 = st3.executeQuery(sql3); 31 32 33 34 JTextField aryTF[] = new JTextField[7] 35 aryTF[0] = JTextField1; 36 aryTF[1] = JTextField2; 37 aryTF[2] = JTextField3; 38 aryTF[3] = JTextField4; 39 aryTF[4] = JTextField5; 40 aryTF[5] = JTextField6; 41 42 43 44 while (rs.next()) { 45 //aにDBの値を代入 46 47 String a0 = rs.getString("ID"); 48 String a2 = rs.getString("CD"); 49 String a4 = rs.getString("住所"); 50 String a5 = rs.getString("日付"); 51 52 //テキストフィールドにaをセット 53 aryTF[0].setText(a0); 54 aryTF[2].setText(a2); 55 aryTF[4].setText(a4); 56 aryTF[5].setText(a5); 57 58 59 60 } 61 62 while(rs2.next()) { 63 String a3 = rs2.getString("職種"); 64 aryTF[3].setText(a3); 65 } 66 while(rs3.next()) { 67 String a1 = rs3.getString("名前"); 68 aryTF[1].setText(a1); 69 } 70 71 72 st.close(); 73 conn.close(); 74 rs.close(); 75 rs2.close(); 76 rs3.close(); 77 78 } catch (ClassNotFoundException | SQLException e) { 79 System.out.println("SQLExeception:" + e.getMessage()); 80 } 81 } 82
//次のレコードへのボタン設定 class r_tugi implements ActionListener{ public void actionPerformed(ActionEvent e) { if (e.getSource() == r_tugi) { } } }

DB内容
Adata
カラム名 id・CD・住所・日付
レコード数、各カラムに50行

Bdata 
カラム名 職業
レコード数 各カラムに50行

Cdata 
カラム名 名前
レコード数 50行

Windows10
mySQLserver 5.7
mySQL Workbench8.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問