ResultSet不返回DB2的值,但如果我尝试手动执行它,则返回值

时间:2016-01-12 08:42:20

标签: jdbc db2 resultset

我正在尝试从resulset获取值,但它什么也没有返回。 当我试图通过普通的sql做它时它会返回一些值。

    List<String> res = new ArrayList<String>();
    try {
        String query = "SELECT COLUMN_NAME FROM idoc.columns_to_show where user = ? "
                + DAO.DB2_UR_POSTFIX;

        Connection connection = Properties.getDocsConnection();
        try {
            PreparedStatement pr = connection.prepareStatement(query);
            try {
                pr.setString(1, user.getDomainName());
                ResultSet rs = pr.executeQuery();
                try {
                    while (rs.next()) {
                        res.add(rs.getString("COLUMN_NAME"));
                    }
                } finally {
                    rs.close();
                }
            } finally {
                pr.close();
            }
        } finally {
            connection.close();
        }

    } catch (SQLException e) {
        throw new RuntimeException(e);
    }

    return res;

1 个答案:

答案 0 :(得分:0)

不要使用列名&#34;用户&#34;它是DB2数据库的保留名称。 因此,我无法找到任何结果。