Я использую встроенную базу данных derby в программе на Java.Мой запрос к базе данных:
"SELECT ID, NAME, MOBILE_NUMBER FROM CLIENTS2 WHERE CONTRACT_DATE <= ? AND BUILDING_ID = "+buildingId
И я устанавливаю дату с помощью подготовленного заявления:
try {
PreparedStatement pStmt = con.prepareStatement(query);
pStmt.setDate(1, endSqlDate);
try (ResultSet rs = pStmt.executeQuery()) {
while(rs.next()){
FinancialInfoModule financialInfoObj = new FinancialInfoModule();
financialInfoObj.setClientId(rs.getInt("ID"));
financialInfoObj.setMobileNumber(rs.getInt("MOBILE_NUMBER"));
financialInfoObj.setClientName(rs.getString("NAME"));
getClientFinancialInfo(financialInfoObj, startSqlDate,
endSqlDate);
if(financialInfoObj.isMeetingTheNeed()){
financialInfoList.add(financialInfoObj);
}
}
}
} catch (SQLException ex) {
Logger.getLogger(ReportsUtility.class.getName())
.log(Level.SEVERE, null, ex);
}
Но каждый раз, когда я получаю эту ошибку:
java.sql.SQLSyntaxErrorException: синтаксическая ошибка: обнаружена «WHERE» в строке 1, столбец 61. в org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException (неизвестный источник) в org.apache.derby.impl.jdbc.Util.generateCsSQLException (Неизвестный источник) в org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException (Неизвестный источник) в org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException (Неизвестный источник) в org.ap.jdbc.EmbedConnection.handleException (Неизвестный источник) в org.apache.derby.impl.jdbc.ConnectionChild.handleException (Неизвестный источник) в org.apache.derby.impl.jdbc.EmbedPreparedStatement. (Неизвестный источник)
Кто-нибудь имеет представление о том, что происходит?