在JAVA中使用Symbols和Prepared Statement参数

时间:2017-06-13 20:18:52

标签: java jdbc prepared-statement

如何在参数中使用%来代码?如果我只是在没有rset.setString()的查询中直接使用它,它就可以工作。谢谢!

    try (Connection con = DriverManager.getConnection(connection);
         PreparedStatement prepstmt = con.prepareStatement("SELECT {fn SUBSTRING(VS_TABLE_KEY,3,18)} FROM VP_SD_TABLE WHERE {fn SUBSTRING(VS_DESCRIPT,3,62)} LIKE ?");
         ResultSet rset = prepstmt.executeQuery()

    ) {
        prepstmt.setString(1,"DI%");
        while (rset.next()) {
            System.out.println(rset.getString("VS_TABLE_KEY"));
        }
    } catch (SQLException e) {
        e.printStackTrace();
        System.exit(1);
    }

1 个答案:

答案 0 :(得分:2)

在设置参数之前,您正在执行查询。运行此代码时应该会出现异常,而不仅仅是空结果集。