3

我想问一下当我们执行查询时如何从 PostgreSQL 获得消息响应。

我的意思是来自 PostgreSQL 的消息响应是这样的,例如:

  • 查询成功返回:1 行受影响,11 毫秒执行时间。
  • 错误:重复键值违反唯一约束“pk_grouptab”
  • 等等

我正在使用 JDBC。

我试图executeUpdate()从 Statement 类中获取它。但它只返回 int 表示查询是否成功执行。

有什么办法吗?

4

1 回答 1

3

我不确定你是否得到类似的陈述

查询成功返回:1 行受影响,11 毫秒执行时间。

但是您可以选择使用 likestatement.executeUpdate()来返回受 DML 语句执行影响的行数。

来到另一个声明

错误:重复键值违反唯一约束“pk_grouptab”

每当数据库发生错误,SQLException抛出a时,需要显式捕获异常并进行处理。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 回答