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

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

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

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

Java

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

Swing

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

Q&A

2回答

807閲覧

JavaでMySQLの画面を作りたい

mmatt

総合スコア5

MySQL

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

Java

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

Swing

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

0グッド

0クリップ

投稿2021/04/02 08:18

編集2021/04/05 05:40

jtextfieldにDBの値を表示し、DBの値を修正・更新したいです。

すでにGUIの方はSwingに作成しています。

DBの仕様は以下になります。

テーブルカラム名
id,idname,syorinenndo1,syorinenn4,syoriseireki14の合計10列あります。
上記の順番で、フィールド値は以下になります。
1001,大阪,1,2,3,4,2000,2001,2002,2003

while文の中身(DBの値を表示・修正・更新するためのコード)がわからないです。

参考URLでも構いませんので、ご教授お願いします。

Windows10
jdk15.0
mySQLserver 5.7
mySQL Workbench8.0

Java

1import java.sql.Connection; 2import java.sql.DriverManager; 3import java.sql.PreparedStatement; 4import java.sql.ResultSet; 5import java.sql.SQLException; 6 7public class Mmm { 8 public static void main(String[] args) { 9 try{ 10 Class.forName("com.mysql.cj.jdbc.Driver"); 11 Connection conn = DriverManager.getConnection( 12 "jdbc:mysql://127.0.01:3306/new_","root","psw"); 13 14 String sql ="select id,idname from tetuduki;"; 15 PreparedStatement st = conn.prepareStatement(sql); 16 System.out.println("MySQLに接続できました!"); 17 ResultSet rs =st.executeQuery(sql); 18 19 while(rs.next()) { 20 21 22 } 23 st.close(); 24 rs.close(); 25 26 }catch(ClassNotFoundException e) { 27 System.out.println("SQLExeception:" + e.getMessage()); 28 }catch(SQLException e) { 29 System.out.println("SQLExeception:" + e.getMessage()); 30 } 31 } 32 33}

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

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

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

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

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

K_3578

2021/04/05 01:32

While文の中身がわからない、とはどういう事でしょうか。 これは質問者さんが書かれたコードではないのですか?
mmatt

2021/04/05 01:40

私自身が書いたコードです。 目的の処理を行うのに、while文の中に処理するコードが必要だと思っていますが、 処理するためのコードが調査しても皆目見当がつかないため、質問させてもらってる次第です。
seastar3

2021/04/05 07:20

的確にデザインしたりエラー防止のためにTextField1はJTextField_idに、JTextField7はJTextField_syoriseireki1なりと明確にフィールド名指定をするべきです。このような大切な部分が後で示されるのでは、残念ながら回答できません。 そもそも、レコード数が分からないのだから、テキストフィールドが10枠だけでは表示しきれませんよ。
mmatt

2021/04/06 00:45

レコード数は1行のみです。 下記が表示できない原因をご教授お願いします。 aryTFは各々、表示したいテキストフィールドに定義済みです。 while(rs.next()) { aryTF[0].setText(rs.getString("id")); aryTF[1].setText(rs.getString("idname")); aryTF[2].setText(rs.getString("syorinenndo1")); ~ aryTF[9].setText(rs.getString("syoriseireki4"));}
guest

回答2

0

設定が不明の点もありますが、

java

1 while(rs.next()) { 2 3 }

の部分を、

java

1JTextField aryTF[]=new JTextField[10]; 2aryTF[0] = JtextField1; 3aryTF[1] = JtextField2; 4aryTF[2] = JtextField3; 5aryTF[3] = JtextField4; 6aryTF[4] = JtextField5; 7aryTF[5] = JtextField6; 8aryTF[6] = JtextField7; 9aryTF[7] = JtextField8; 10aryTF[8] = JtextField9; 11aryTF[9] = JtextField10; 12 13int i = 0; 14while(rs.next()) { 15 aryTF[i].setText(rs.getString("id") + ":" + rs.getString("idname")); 16 i++; 17}

のようにプログラムするとできるのではないでしょうか。

投稿2021/04/02 11:48

seastar3

総合スコア2285

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

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

mmatt

2021/04/05 01:08 編集

回答、ありがとうございます。 今試してみたのですが、エラー等は無く、表示(空白になる)ができませんでした。 下記の文が間違っていましたし、詳細な設定を記載していなかったです、すいません。 String sql ="select id,idname from tetuduki;"; 正しくは String sql ="select * from tetuduki;";(これが正解かどうかは、わかってないです;;) 以下に詳細を記載します。 tetudukiテーブルに10個のカラムがあり、それぞれのカラムに1個づつフィールドがある状態です。 そのフィールド値をテキストフィールド10個に各々表示させるのが、目的になります。 自分のコードせいで目的が曖昧になってしまったと思います、すいません。 よろしければ、引き続き回答お待ちしています。
seastar3

2021/04/05 03:53

フィールド名を*で取得されたら、ts.フィールド名の指定ができません。 tetuzukiテーブルの仕様を明示してください。
mmatt

2021/04/05 04:27

ご回答ありがとうございます。 tetudukiテーブルのカラムは以下になります id,idname,syorinenndo1,~syorinenn4,syoriseireki1~4の合計10列あります。 上記の順番で、フィールド値は以下になります。 1001,大阪,1,2,3,4,2000,2001,2002,2003 仕様はこの程度でいいでしょうか? 必要なものが予想つかなくて… SQL文の方はどのように書くのが適切なのでしょうか。 よろしくお願いします。
seastar3

2021/04/05 05:29

元の質問文も訂正をお願いします。
mmatt

2021/04/05 06:51

訂正しました。
guest

0

テキストフィールドではなく、リストを活用する方法があります。
Javaでデータベースの内容をGUIで表示したいが参考になるでしょう。

投稿2021/04/05 07:24

seastar3

総合スコア2285

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問