如何获取jdbc的输出或错误流

时间:2018-10-18 06:53:11

标签: java jdbc

我正在尝试通过JDBC连接DB2。我如何获得sql将像IDE一样返回的输出消息。 例如,选择查询将返回已提取的100行。 插入将返回更新的行数。

错误消息,如未找到行,用户没有访问数据库的权限,由于主键重复等原因无法执行插入操作。

2 个答案:

答案 0 :(得分:1)

catch引发异常并打印堆栈跟踪。

try{
    // your SQL work
} catch(Exception e){
    e.printStackTrace();
}

这将在您的输出控制台中显示错误。

答案 1 :(得分:0)

使用JDBC API execute update获取更改后的行数。以及获取其他消息的异常。

https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)

  

int executeUpdate(String sql)引发SQLException

     

执行给定的SQL语句,该语句可以是INSERT,UPDATE或   DELETE语句或不返回任何内容的SQL语句,例如   SQL DDL语句。注意:无法在   PreparedStatement或CallableStatement。

     

参数:sql-SQL数据操作语言(DML)语句,   例如INSERT,UPDATE或DELETE;或返回的SQL语句   什么都没有,例如DDL语句。

     

返回:行数   对于SQL数据操作语言(DML)语句,或(2)0对于SQL   不返回任何内容的语句

     

抛出:SQLException-如果是数据库   发生访问错误,在封闭的Statement上调用此方法,   给定的SQL语句产生一个ResultSet对象,该方法称为   在PreparedStatement或CallableStatement SQLTimeoutException上-当   驱动程序已确定由指定的超时值   已超过setQueryTimeout方法,并且至少具有   试图取消当前正在运行的Statement