Переменная "Escape" Bind? в поиске JDBC SQL
Поэтому я пишу на Java, использую JDBC с SQL для получения данных из базы данных. Я не могу изменить данные или имена столбцов в базе данных. Все работало отлично, пока мне сегодня не сказали, что нужен еще один столбец базы данных.
Поэтому я попытался добавить имя столбца в оператор выбора, однако я получаю сообщение об ошибке:
"java.sql.SQLException: [Microsoft] [ODBC Microsoft Access Driver] Слишком мало параметров. Ожидается 2".
Вот переменная и имя для столбца: String est = "\" Оценки завершены?\"";
Итак, после МНОГО исследований, кажется, что в JDBC есть что-то под названием "Переменные связывания", и? случается, один из них. Я продолжаю находить сообщения на форуме и ответы о том, как создавать переменные привязки, но ничего о том, как их "избежать". Я не могу изменить значение Оценки завершено? колонка, и это нужно для моей программы.
Если я попробую String est = "Estimates Complete?";, Я получу ошибку:
java.sql.SQLException: поле [COUNT] [Microsoft] [Драйвер Microsoft Access ODBC] неверно
Кто-нибудь знает, возможно ли это? Благодарю.
Изменить: Пример кода:
Statement s = conn.createStatement();
String tableName = "\"Open WRs V2\"", data1 = "\"Project Name\"",est = "Estimates Complete?";
String selTable = "SELECT " + data1 + "," + est+ " FROM " + tableName;
s.execute(selTable);
ResultSet rs = s.getResultSet();
while ((rs.next())) {
String name = (rs.getString(1));
String estimate= rs.getString(2);
System.out.println("test: "+estmate);
}
s.close();
1 ответ
Вы можете заменить? с chr(63) как в ответе здесь:
Как избежать параметризации ODBC для знака вопроса? в пределах литералов и комментариев?