3

クエリを実行するときにPostgreSQLからメッセージ応答を取得する方法について質問したいと思います。

PostgreSQLからのメッセージ応答は、次のようになります。

  • クエリが正常に返されました:1行が影響を受け、実行時間は11ミリ秒です。
  • エラー:重複するキー値が一意の制約「pk_grouptab」に違反しています

JDBCを使用しています。

executeUpdate()Statementクラスから取得しようとしました。ただし、クエリが正常に実行されたかどうかを表すのはintのみです。

それを行う方法はありますか?

4

1 に答える 1

3

次のようなステートメントが得られるかどうかはわかりません

クエリが正常に返されました: 1 行が影響を受け、実行時間は 11 ミリ秒です。

statement.executeUpdate()ただし、DML ステートメントの実行によって影響を受けた行の数を返すlike を使用する代わりの方法があります。

他のステートメントに来る

エラー: 重複するキー値が一意の制約 "pk_grouptab" に違反しています

データベースでエラーが発生すると aSQLExceptionがスローされるたびに、例外を明示的にキャッチして処理する必要があります。SQLException Apiに加えて、JDBC での例外処理について簡単に説明しているこのリンクを確認してください。

クエリを実行した後に警告があったかどうかを確認したい場合は、次のgetWarningsようなメソッドを使用しgetMessage()て警告のメッセージを取得できます。

下は骸骨

 try {
     // execute sql statements here
     log.info(statement.getWarnings().getMessage());
 }
 catch(SQLException ex) {
     // an exception has occurred get all info related to the exception
     log.info(ex.getErrorCode());
     log.info(ex.getMessage());
     ex.printStackTrace();
 }
 finally {
     // close all open connections
 }

これがお役に立てば幸いです。

于 2012-07-13T04:11:23.903 に答える