Обновление изображения из базы данных SQlite - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть система, где пользователь может вводить изображения и сохранять их в базе данных. Сейчас я пытаюсь обновить сохраненное изображение из базы данных. Я пытался вставить + ", Image =?" и pst.setBytes (7, bookImage); на моей кнопке обновления, но она как-то не обновляется. Как я могу обновить картинку?

Кстати, без + ", Изображение =?" и pst.setBytes (7, bookImage); на моем коде кнопка обновления полностью работает. Кроме того, я не получаю никаких ошибок в своем коде.

Спасибо!

Вот код моей кнопки обновления:

private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {                                          

        String sql = "UPDATE LibrarySystemDatabase"
                + " SET Title = ?"
                + ", Author = ?"
                + ", Genre = ?"
                + ", Lexile = ?"
                + ", Points = ?"
                + ", Image = ?"
                + " WHERE No = ?";

        try (PreparedStatement pst = conn.prepareStatement(sql)) {
            pst.setString(1, txtTitle.getText());
            pst.setString(2, txtAuthor.getText());
            pst.setString(3, txtGenre.getText());
            pst.setString(4, txtLexile.getText());
            pst.setString(5, txtPoints.getText());
            pst.setString(6, txtNo.getText());
            pst.setBytes(7, bookImage);

            int count = pst.executeUpdate();
            JOptionPane.showMessageDialog(null, count + " Records Updated");
            updateTable();
            clearFields();

        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        } finally {
            try {
                rs.close();
                pst.close();
            } catch (Exception e) {
            }
        }
    }    

1 Ответ

0 голосов
/ 27 февраля 2020

Ваши параметры, кажется, инвертированы. Попробуйте сделать это вместо:

pst.setBytes(6, bookImage);
pst.setString(7, txtNo.getText());
...