Операция обновления SQLite (javafx) - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь создать приложение для управления школой, я выполнил операцию «добавить учащегося» и «удалить учащегося», но не могу понять, как выполнить «операцию обновления», ниже приведен мой код для addStudent и updateStudent

@FXML
   private void addStudent(javafx.event.ActionEvent event){
     String sqlInsert = "INSERT INTO students (id,fname,lname,email,DOB) 
VALUES (?,?,?,?,?)";

    try{
        Connection conn = dbConnection.getConnection();
        PreparedStatement stmt = conn.prepareStatement(sqlInsert);

        stmt.setString(1, this.id.getText());
        stmt.setString(2, this.firstname.getText());
        stmt.setString(3, this.lastname.getText());
        stmt.setString(4, this.email.getText());
        stmt.setString(5, this.dob.getEditor().getText());

        stmt.execute();
        conn.close();

    }catch (SQLException e){
        e.getMessage();

    }
}


@FXML
private void updateStudent(javafx.event.ActionEvent event){
    String sqlUpdate = "UPDATE students SET fname=?, lname=?, email=?, DOB=? WHERE id=?"; /*setid=?...*/ /*VALUES(?,?,?,?,?)*/

    try{
        Connection conn = dbConnection.getConnection();
        PreparedStatement stat = conn.prepareStatement(sqlUpdate);

        stat.setString(1,this.id.getText());
        stat.setString(2,this.firstname.getText());
       stat.setString(3,this.lastname.getText());
      stat.setString(4,this.email.getText());
       stat.setString(5,this.dob.getEditor().getText());

        stat.execute();
        conn.close();

    }catch(SQLException e){
        e.getMessage();
    }
}

1 Ответ

0 голосов
/ 13 сентября 2018

Без сообщения об ошибке я могу только догадываться. Я думаю, что есть проблема порядка с вашими параметрами. Вы устанавливаете идентификатор в качестве первого параметра, но он должен быть в последней позиции.

В "ОБНОВЛЕНИИ студентов УСТАНОВИТЬ fname = ?, lname = ?, email = ?, DOB =? WHERE id =?" первый параметр это имя, а не Id

 stat.setString(1,this.firstname.getText());
 stat.setString(2,this.lastname.getText());
 stat.setString(3,this.email.getText());
 stat.setString(4,this.dob.getEditor().getText());
 stat.setString(5,this.id.getText());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...