###前提・実現したいこと
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/ツール等のバージョンなど)
選択した行の削除までは動作確認を行うことができました。
また、画面所に、削除済みの項目が残ってしまうので、更新を行いたいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。