我在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工作臺中執行,但使用JDBC拋出異常。 它是在MySQL jdbc驅動程序中的某種錯誤?請幫忙。