我想问一下当我们执行查询时如何从 PostgreSQL 获得消息响应。
我的意思是来自 PostgreSQL 的消息响应是这样的,例如:
- 查询成功返回:1 行受影响,11 毫秒执行时间。
- 错误:重复键值违反唯一约束“pk_grouptab”
- 等等
我正在使用 JDBC。
我试图executeUpdate()
从 Statement 类中获取它。但它只返回 int 表示查询是否成功执行。
有什么办法吗?
我想问一下当我们执行查询时如何从 PostgreSQL 获得消息响应。
我的意思是来自 PostgreSQL 的消息响应是这样的,例如:
我正在使用 JDBC。
我试图executeUpdate()
从 Statement 类中获取它。但它只返回 int 表示查询是否成功执行。
有什么办法吗?
我不确定你是否得到类似的陈述
查询成功返回: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
}
希望这对您有所帮助。