1

コードの制御フローを壊すと思うという声明があります。ステートメントはs.executeBatch(); sのインスタンスですjava.sql.Statement

else if (event.getSource()==btnSave)
{
    btnAdd.doClick();
    int a[]=s.executeBatch(); 
    System.out.println ("dddddd");
    btnRefresh.doClick(); 
    con.commit(); 
    s.clearBatch();
}

この ) 以降はすべてs.executeBatch();コメントインすると実行されず、doClick(); and System.out.printlnステートメントが実行されます。

これは、`executeBatch()' に関する Oracle のドキュメントに含まれる情報です。

executeBatch()実行のためにコマンドのバッチをデータベースに送信し、すべてのコマンドが正常に実行された場合は、更新カウントの配列を返します。

4

1 に答える 1

0

問題のあるステートメントを try catch ブロックにカプセル化し、例外を適切に処理します。

未処理の例外により、制御は例外処理のために呼び出し元のメソッドに戻ります。例外をキャッチすると、修正アクションを実行するための制御が与えられ、論理的な場合は残りのコードに進みます。

次のように、問題のあるステートメント s.executeBatch() を try/catch で囲みます。

 else if (event.getSource()==btnSave)
    {
        btnAdd.doClick();
        int a[];
        try {
            a=s.executeBatch(); System.out.println ("dddddd");
        } catch (Exception e) {
            System.out.prointln("Exception happened");
        }
            btnRefresh.doClick(); 
         con.commit(); 
        s.clearBatch();
    }
于 2013-08-19T10:46:23.850 に答える