Невозможно вставить строки в базу данных MySQL - PullRequest
3 голосов
/ 07 декабря 2011

У меня есть текст на основе даты с таблицей слов1, и с помощью кода ниже я хочу вставить строку в текст1.

Но когда я возвращаюсь к клиенту mysql и выполняю describe lyrics1, он не обновляется.

Я не получаю ошибки, он подключается к базе данных в порядке.По крайней мере, я не получаю сообщение о том, что не смог.

connectToDB();

ok.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        try {

            String query = "INSERT INTO lyrics1(name, artist) values(?, ?)";
            PreparedStatement statement = connection.prepareStatement(query);
            statement.setString(1, nameOfSong.getText()); // set input parameter 2
            statement.setString(2, artist.getText());   
            ResultSet rs = statement.executeQuery("SELECT * FROM lyrics1");
            while (rs.next()){
                System.out.println(rs.getString(1));
            }
            rs.close();
            statement.close();
            connection.close();

        } catch (SQLException insertException) {
            displaySQLError(insertException);
        } 
        internalFrame.dispose();
    }
});

1 Ответ

4 голосов
/ 07 декабря 2011

вы никогда не выполняете оператор INSERT, вы просто создаете его и никогда не выполняете его. Вы выполняете SELECT, но на самом деле ничего не отправляет оператор INSERT на сервер.

Вам нужно сначала вызвать statement.executeUpdate(), он вернет количество затронутых строк, большую часть времени вы хотите проверить, что это равно 1 для INSERT и больше, чем ZERO для UPDATE и DELETE .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...