Добрый день!
Пишу небольшую программу java + javafx + sqlite, которая будет хранить сниппеты кодов в БД.
Столкнулся со следующей пробелмой - написанный код при попытке добавления в БД выдает ошибку, хотя если вместо кода ввести просто текст, то все работает.
Подозреваю, что проблема скорее с санитизацией символов... Отсюда вопрос - как лучше хранить сниппеты в БД? Стоит ли сниппет кодировать в base64 и декодировать при выдаче или нужно санитизировать символы?
Код ошибки:
[SQLITE_ERROR] SQL error or missing database (near "publish": syntax error)
@Override
public void ButtonAdd(ActionEvent actionEvent) {
snippet.setSnippetTitle(txtTitle.getText());
snippet.setSnippetCode(txtCode.getText());
snippet.setSnippetDescription(txtDescr.getText());
// Добавляем данные в БД
try {
SQLiteConfig config = new SQLiteConfig();
c = db.getInstance().getConnection();
PreparedStatement stat = c.prepareStatement("INSERT INTO snippets (snippetTitle, snippetCode, snippetDescr) VALUES ('" + snippet.getSnippetTitle() +
"','" + snippet.getSnippetCode() + "','" + snippet.getSnippetDescription() +
"')");
stat.executeUpdate();
} catch (SQLException ex) {
ex.printStackTrace();
}
ButtonCancel(actionEvent);
}