java.sql.SQLException: индекс параметра вне диапазона (5> число параметров, которое является 4) на Netbeans - PullRequest
0 голосов
/ 19 октября 2019

Я начал изучать создание приложений с графическим интерфейсом Java с Netbeans. Я следую учебному пособию по YouTube: https://www.youtube.com/watch?v=j0aEUB2Efuk. Но я сталкиваюсь с ошибкой в ​​MySQL, я сделал то же самое, что парень в видео, но не работает. Вот код:

public boolean editClient(int id, String fname, String lname, String phone, String email) {
        PreparedStatement st;
        String editQuery = "UPDATE `clients` SET `first_name` = ?, `last_name = ?`, `phone` = ?, `email` = ? WHERE `id` = ? ";

        try {

            st = my_connection.createConnection().prepareStatement(editQuery);

            st.setInt(1, id);
            st.setString(2, fname);
            st.setString(3, lname);
            st.setString(4, phone);
            st.setString(5, email);


            return st.executeUpdate() > 0;

        } catch (SQLException ex) {
            Logger.getLogger(CLIENT.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    }

Кажется, что запрос sql в порядке или, возможно, это ошибка с драйвером JDBC.

1 Ответ

0 голосов
/ 19 октября 2019

Вы добавили кавычку после last_name =? ', поэтому она считается буквальной.

Поместите ее после last_name и перед =

, и она должна выглядеть следующим образомэто,

String editQuery = "UPDATE `clients` SET `first_name` = ?, `last_name` = ?, `phone` = ?, `email` = ? WHERE `id` = ? "; 

Подтвердите ответ, если он был полезен.

...