在 JAVA 中使用带有预准备语句的符号参数



如何在下面的代码的参数中使用%?如果我直接在查询中使用它而不使用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);
    }

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

最新更新