У меня есть следующий код в классе DAO:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException с PreparedStatement
public boolean employeeExists(String employeeCode) throws InstantiationException, SQLException {
String SQL_TEXT = "select count(*) from employee where emp_code=?;";
int scalarValue = 0;
Connection conn = DatabaseAccess.getConnection();
PreparedStatement pstmt = conn.prepareStatement(SQL_TEXT);
pstmt.setString(1, employeeCode);
try {
ResultSet rs = pstmt.executeQuery(SQL_TEXT);
if (rs.next()) {
scalarValue = rs.getInt(1);
}
} catch (SQLException e) {
// TODO: log error.
throw e;
} finally {
if (pstmt != null && !pstmt.isClosed())
pstmt.close();
if (conn != null && !conn.isClosed())
conn.close();
}
return scalarValue > 0;
}
Когда я запускаю код, т.е., вызывать вышеупомянутый метод DAO, я получаю следующее сообщение об ошибке:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?'
синтаксис кажется, будет хорошо и выполняет в MySQL Workbench, но бросает исключение с помощью JDBC. Это какая-то ошибка в драйвере mysql jdbc? Пожалуйста помоги.