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

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

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

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

NullPointerException

null値の参照型変数を参照しようとした場合に投げられる、Javaにおける例外のひとつです。

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

898閲覧

java.lang.NullPointerException の解消方法

sait_you

総合スコア6

MySQL

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

NullPointerException

null値の参照型変数を参照しようとした場合に投げられる、Javaにおける例外のひとつです。

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2020/04/22 04:40

前提・実現したいこと

java.lang.NullPointerException
というエラーが表示され、テーブルに登録されているデータを表示することができずにいます。

発生している問題・エラーメッセージ

java.lang.NullPointerException

該当のソースコード

//表示 JButton btnOpen = new JButton("表示"); btnOpen.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO 自動生成されたメソッド・スタブ Connection con = null; PreparedStatement pstmt = null; ResultSet rs = null; try { //データベースに接続 con = DBconect.getConnection(); //表示データ存在チェック //表示データ存在チェック int errorCode = Validate.ckExistsData1(con); if(errorCode != Validate.getErrCode0()) { //エラーダイアログ表示 JOptionPane.showMessageDialog(frame, Validate.getErrMsg(errorCode)); return; } //表示SQL文作成 String mySql = "select BookNo, title, author, publisher, ISBN, releaseday, status " + "from book.tbl_book order by BookNo"; //ステートメントオブジェクトを作成 pstmt = con.prepareStatement(mySql); //検索するSQL実行 rs = pstmt.executeQuery(); //表のヘッダー部を作成 DefaultTableModel tableModel = new DefaultTableModel() { public String getColumnName(int column) { switch(column) { case 0: return "BookNo"; case 1: return "title"; case 2: return "author"; case 3: return "Publisher"; case 4: return "ISBN"; case 5: return "releaseday"; case 6: return "Status"; } return mySql ; } }; table.setModel(tableModel); rs.last(); tableModel.setRowCount(rs.getRow()); rs.beforeFirst(); System.out.println("表件数=" + tableModel.getRowCount() + "\t"); int i = 0; while(rs.next()) { tableModel.setValueAt(rs.getInt("BookNo"), i, 0); tableModel.setValueAt(rs.getString("title"), i, 1); tableModel.setValueAt(rs.getString("author"), i, 2); tableModel.setValueAt(rs.getString("publisher"), i, 3); tableModel.setValueAt(rs.getString("ISBN"), i, 4); tableModel.setValueAt(rs.getString("releaseday"), i, 5); tableModel.setValueAt(rs.getString("status"), i, 6); System.out.println("行数=" + i + "\t"); i++; } //表を描画 frame.getContentPane().add(scrollPane); table.setModel(tableModel); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); table.setColumnSelectionAllowed(false); table.setRowSelectionAllowed(true); table.getColumnModel().getColumn(0).setMinWidth(150); table.getColumnModel().getColumn(1).setPreferredWidth(150); table.getColumnModel().getColumn(1).setMinWidth(1); scrollPane.setViewportView(table); scrollPane.repaint(); //コンボボックスの設定 String[] dataItem = {"-", "貸出中", "返却"}; JComboBox<Object> sutatsComboBox = new JComboBox<Object>(dataItem); TableColumn sutatsColumn = table.getColumnModel().getColumn(6); sutatsColumn.setCellEditor(new DefaultCellEditor(sutatsComboBox)); } catch(Exception ex) { System.out.println(ex.toString()); }finally { try { //実行結果をクローズ if(rs != null) { rs.close(); } if(pstmt != null) { pstmt.close(); } if(con != null) { con.close(); } } catch(SQLException se) { //何もしない } } } }); btnOpen.setBounds(370, 86, 105, 40); contentPane.add(btnOpen);

補足情報(FW/ツールのバージョンなど)

データを登録しているテーブルは以下になります。

CREATE TABLE book.tbl_book ( BookNo CHAR(3) NOT NULL, title VARCHAR(30) NOT NULL, author VARCHAR(20) NOT NULL, publisher VARCHAR(10) NOT NULL, ISBN CHAR(13) NOT NULL, releaseday CHAR(8) NOT NULL, status VARCHAR(10) NOT NULL, CONSTRAINT PRIMARY KEY (BookNo) );

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

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

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

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

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

guest

回答1

0

ベストアンサー

ナカミがnullの変数を操作したエラーなので、
そのエラーが出た箇所の前後2行づつぐらいにでた変数の値を全部チェックしましょう。
そして、nullの変数があれば、なぜnullになったのかを考えましょうね

投稿2020/04/22 04:58

y_waiwai

総合スコア87774

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

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

sait_you

2020/04/22 21:40

いくつか確認してみましたが、どこか検討がつかず、、 どこがnullになっているのでしょうか、、
y_waiwai

2020/04/22 22:00

どこでエラーが出たかという情報が提示されてないので答えよう無いですねー
sait_you

2020/04/22 22:14

かしこまりました! なんとか調べてみます!ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問