Я пытался выяснить, почему следующий код не генерирует данных в моем ResultSet:
String sql = "SELECT STUDENT FROM SCHOOL WHERE SCHOOL = ? ";
PreparedStatement prepStmt = conn.prepareStatement(sql);
prepStmt.setString(1, "Waterloo");
ResultSet rs = prepStmt.executeQuery();
С другой стороны, следующие выполнения правильно:
String sql = "SELECT STUDENT FROM SCHOOL WHERE SCHOOL = 'Waterloo' ";
PreparedStatement prepStmt = conn.prepareStatement(sql);
ResultSet rs = prepStmt.executeQuery();
Типом данных для ШКОЛЫ является CHAR (9 байтов). Вместо setString я также попробовал:
String sql = "SELECT STUDENT FROM SCHOOL WHERE SCHOOL = ? ";
PreparedStatement prepStmt = conn.prepareStatement(sql);
String school = "Waterloo";
Reader reader = new CharArrayReader(school.toCharArray());
prepStmt.setCharacterStream(1, reader, 9);
prepStmt.setString(1, "Waterloo");
ResultSet rs = prepStmt.executeQuery();
Я полностью застреваю на том, что заняться расследованиями затем; отладчик Eclipse говорит, что SQL-запрос не изменяется даже после setString или setCharacterStream. Я не уверен, является ли это, потому что установка параметров не работает, или если отладчик просто не может взять изменения в PreparedStatement.
Любая справка будет значительно цениться, Спасибо!