-2
如何在下面的代碼的參數中使用%?它工作,如果我只是直接在查詢沒有使用rset.setString()。謝謝!在JAVA中使用帶準備語句參數的符號
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);
}
當您嘗試該代碼時發生了什麼? – Alfabravo
不返回結果 – Scott
您需要給'substring()'表達式提供一個別名。你的結果集沒有列名「VS_TABLE_KEY」 –