SQL запрос на удаление с помощью java база paradox
Я скачал драйвер для БД Paradox https://github.com/leonhad/paradoxdriver Произвожу поиск значений "msgid = 202" в файле "log", тут все работает нормально
Connection conn = DriverManager.getConnection("jdbc:paradox:" + fileWayLog);
Statement statement = conn.createStatement();
ResultSet resultSet = statement.executeQuery("select msgtext from log where msgid = 202 limit 5");
while (resultSet.next()) {
System.out.println(resultSet.getString("msgtext"));
}
resultSet.close();
Потом пытаюсь удалить значения "msgid = 202" в таблице "log"
PreparedStatement preparedStatement = conn.prepareStatement("delete from log where msgid = 202");
int result = preparedStatement.executeUpdate();
System.out.println(result);
Выбрасывается ошибка Unexpected token in line 1, column 1. Что я в операции удаления написал неверно?
Ответы (2 шт):
Зайди в репозиторий GitHub, в файле TODO, есть строчка, что автор только планирует добавить запрос DELETE:
** Add INSERT, DELETE and UPDATE support.
, то есть в Paradox его пока нет. Также в файле NEWS, опять же, нет упомянания, что DELETE добавили.
В данной реализации драйвера операции ParadoxPreparedStatement::executeUpdate для модификации данных не поддерживаются как таковые:
@Override
public int executeUpdate() throws SQLException {
throw new ParadoxNotSupportedException(ParadoxNotSupportedException.Error.OPERATION_NOT_SUPPORTED);
}
То же самое касается и других методов для модификации данных типа ParadoxStatement::executeUpdate, а методы execute, executeQuery поддерживают только чтение данных.
См. TODO:

В ответах на похожий пост на английском SO по поводу этого драйвера: Java-Paradox Driver - can select but can't modify рекомендуется искать другие реализации JDBC драйвера типа HXTT (вроде бы платный) или какие-то устаревшие технологии типа JDBC-ODBC Bridge.