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

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

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

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

Swing

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

Q&A

1回答

2666閲覧

javaでswingを使用し、DBから取得した値をjtable上から削除したい。

hekomin

総合スコア16

Java

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

Swing

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

0グッド

0クリップ

投稿2016/09/20 00:09

###前提・実現したいこと
1.確認ダイアログを表示する。

1-1.「いいえ」が選択された場合、処理を中断する。

2.削除処理を行う。

2-1.トランザクションを開始する。 2-1-1.選択行のデータを社員情報テーブルから削除する。 2-1-2.コミットする。 2-2.処理2-1.で異常が発生した場合 2-2-1.ロールバックを行う。 2-2-2.エラーを表示し、処理を中断する。

3.完了メッセージを表示する。
###該当のソースコード
//削除ボタンがクリックされた場合
case "deletebutton":

int rowno = table.getSelectedRow(); Object obj = table.getValueAt(rowno, 0); int id = Integer.parseInt(obj.toString()); sql = new StringBuilder(); sql.append(" delete "); sql.append(" from "); sql.append(" T_SHAININFO "); sql.append(" where "); sql.append(" 0 = 0 "); sql.append(" and T_SHAININFO.SHAIN_ID = " + id); try { conn = DriverManager.getConnection(url, usr, pass); // コネクションスタート stat = conn.prepareStatement(sql.toString()); // ステートメント スタート stat.executeQuery(sql.toString()); // SQL実行 } catch (SQLException e1) { try { conn.rollback(); } catch (SQLException e2) { // TODO 自動生成された catch ブロック e2.printStackTrace(); } // TODO 自動生成された catch ブロック e1.printStackTrace(); } finally { try { //finallyの作法 if (stat != null) { stat.close(); // ステートメント 終了 } if (conn != null) { conn.close(); // コネクション 終了 } } catch (SQLException a) { // TODO 自動生成された catch ブロック a.printStackTrace(); } } break; default: break; } }

###試したこと
上記の実践したいことにあるように
確認ダイアログ(yes/no)→で処理を分岐させ、トランザクション→コミットになるようにソースを変更したいです。

###補足情報(言語/FW/ツール等のバージョンなど)
選択した行の削除までは動作確認を行うことができました。
また、画面所に、削除済みの項目が残ってしまうので、更新を行いたいです。

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

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

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

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

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

guest

回答1

0

Swingは枯れた技術なので、Googleで検索するとやりたいことの実現方法はすぐに分かると思います。

・Swingで確認ダイアログを表示する方法は、JOptionPane
・JTableから行を削除する方法は、DefaultTableModel

をそれぞれキーワードとして検索すると、やりたいことを調べることができると思います。

ちなみに、Swingで裏で処理を実行する場合は、SwingWorkerを使うことをお勧めします。

投稿2016/09/20 03:10

ijufumi

総合スコア276

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問