Скрыть переменную привязки? в поиске JDBC SQL

Итак, я пишу код на Java, используя JDBC с SQL для получения данных из базы данных. Я не могу изменить данные или имена столбцов в базе данных. Все работало отлично, пока мне сегодня не сказали, что нужен еще один столбец базы данных.

Поэтому я попытался добавить имя столбца в оператор выбора, однако получаю сообщение об ошибке:

"java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Слишком мало параметров. Ожидается 2."

Вот переменная и имя столбца: String est = "\"Выполнены оценки?\"";

Итак, после БОЛЬШИХ исследований кажется, что в JDBC есть что-то, называемое «Переменные привязки» и? оказывается один из них. Я продолжаю находить сообщения на форуме и ответы о том, как создавать переменные привязки, но ничего о том, как их «экранировать». Я не могу изменить значение Оценки завершены? столбец, и он нужен для моей программы.

Если я попробую String est = "Estimates Complete?";, то я получу ошибку:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]Неверное поле COUNT

Кто-нибудь знает, возможно ли это? Спасибо.

Изменить: пример кода:

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();

person Programming Cat    schedule 17.07.2013    source источник
comment
Вы пробовали использовать скобки []?   -  person Luiggi Mendoza    schedule 18.07.2013
comment
Не могли бы вы показать пример вашего SQL?   -  person Jon Skeet    schedule 18.07.2013
comment
Я добавил код. Простите, как плохо отформатировано это выглядит. Я еще не до конца разобрался с этим сайтом.   -  person Programming Cat    schedule 18.07.2013
comment
@Luiggi, я не уверен, что вы имеете в виду, добавляя скобки, но я пробовал: String est = \Estimates Complete[?]\; и это дало: java.sql.SQLException: [Microsoft] [ODBC Microsoft Access Driver] Синтаксическая ошибка в выражении запроса «[Estimates Complete [Pa_RaM000]]». Затем я попробовал String est = \[Estimates Complete?]\; и это дало: java.sql.SQLException: [Microsoft] [ODBC Microsoft Access Driver] Синтаксическая ошибка в выражении запроса '[[Estimates CompletePa_RaM000]]'.   -  person Programming Cat    schedule 18.07.2013


Ответы (1)


можешь заменить? с chr(63), как в ответе здесь:

Как избежать параметризации ODBC для вопроса отметить характер? внутри литералов и комментариев?

person Graham Griffiths    schedule 26.07.2013