Проблема в том, что я пытаюсь установить подстановочный знак в PreparedStatement, но оператор setString выдает мне ошибку, описанную выше.
Я попытался изменить его на оператор setObeject с несколькими различными типами, такими как Types.VARCHAR. Я попытался объявить PreparedStatement в разных местах, и я попытался объявить «имя» в методе и в классе.
public String getTemplateText(String name) {
try (
Connection conn = getConnection();
PreparedStatement stmt = conn.prepareStatement("SELECT templateText FROM TEMPLATE WHERE " +
"templateTag = ?");
stmt.setString(1 , name); // this is the line that has the problem!
ResultSet rs = stmt.executeQuery()
) {
System.out.println("Set Text...");
String tempText = rs.getString("templateText");
return tempText;
} catch (SQLException e) {
e.printStackTrace();
}
return "";
}
/* this is the SQL code for the table that I am trying to query */
CREATE TABLE TEMPLATE
(
templateID INTEGER PRIMARY KEY IDENTITY(1,1)
, templateText TEXT
, templateTag CHAR(25)
);