我正在尝试通过JDBC连接DB2。我如何获得sql将像IDE一样返回的输出消息。 例如,选择查询将返回已提取的100行。 插入将返回更新的行数。
错误消息,如未找到行,用户没有访问数据库的权限,由于主键重复等原因无法执行插入操作。
答案 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