Оповещение не отображается на экране во время удаления записи из базы данных - PullRequest
0 голосов
/ 16 ноября 2018

Здравствуйте, у меня проблема, когда я пытаюсь проверить, существует ли запись в этом методе, диалоговое окно с предупреждением в порядке, на экране появляется сообщение «registro no encontrado», но когда я пишу правильную запись для удаления, не появляется диалоговое окно с предупреждением «registro borrado correctamente», но оно действительно удаляет запись, любая идея, что может быть, я делаю неправильно?

это мой код.

public void borraregistro() {

             Integer numfac=null;
             String consulta=" delete  from auditoriac where numero_factura=? ";

             Connection conn=null;{

                  try {
                      try {
                             numfac = Integer.parseInt(borrar.getText());
                         }catch (NumberFormatException ex) {
                             Alert alert = new Alert(AlertType.INFORMATION);
                              alert.setTitle("Informacion");
                              alert.setHeaderText(null);
                              alert.setContentText("Campo Vacio, Por favor Digite el numero de Factura:" +ex);
                              alert.getDialogPane().setStyle("-fx-text-fill: white;\r\n" + 
                                        "    -fx-border-color:  rgb(238, 201, 91);\r\n" + 
                                        "    -fx-border-radius: 5;\r\n" + 
                                        "    -fx-padding: 10 2 10 -2;\r\n" + 
                                        "    -fx-background-color:linear-gradient(to bottom, #ffffcc 15%, #ffcc99 91%);\r\n" + 
                                        "    -fx-text-fill:black;\r\n" + 
                                        "    -fx-font-family: Oswald;\r\n" + 
                                        "    -fx-font-size:15px;    ");
                              alert.showAndWait();      



                         }
                      conn=DriverManager.getConnection("jdbc:sqlserver://DESKTOP-4JA6SFR:1433;databaseName=GLOSASNINO", "sa", "123");
                      PreparedStatement ps =conn.prepareStatement(consulta);
                      ps.setInt(1, numfac);
                      ps.executeUpdate(); 
                      int comparar =ps.executeUpdate(); 
                     if (comparar==0){
                            Alert alerta = new Alert(AlertType.INFORMATION);
                              alerta.setTitle("Informacion");
                              alerta.setHeaderText(null);
                              alerta.setContentText("Registro no encontrado");
                              alerta.getDialogPane().setStyle("-fx-text-fill: white;\r\n" + 
                                        "    -fx-border-color:  rgb(238, 201, 91);\r\n" + 
                                        "    -fx-border-radius: 5;\r\n" + 
                                        "    -fx-padding: 10 2 10 -2;\r\n" + 
                                        "    -fx-background-color:linear-gradient(to bottom, #ffffcc 15%, #ffcc99 91%);\r\n" + 
                                        "    -fx-text-fill:black;\r\n" + 
                                        "    -fx-font-family: Oswald;\r\n" + 
                                        "    -fx-font-size:15px;    ");
                              alerta.showAndWait();  

                         }


                     else {  
                              Alert alerta = new Alert(AlertType.INFORMATION);
                              alerta.setTitle("Informacion");
                              alerta.setHeaderText(null);
                              alerta.setContentText("Registro borrado correctamente");
                              alerta.getDialogPane().setStyle("-fx-text-fill: white;\r\n" + 
                                        "    -fx-border-color:  rgb(238, 201, 91);\r\n" + 
                                        "    -fx-border-radius: 5;\r\n" + 
                                        "    -fx-padding: 10 2 10 -2;\r\n" + 
                                        "    -fx-background-color:linear-gradient(to bottom, #ffffcc 15%, #ffcc99 91%);\r\n" + 
                                        "    -fx-text-fill:black;\r\n" + 
                                        "    -fx-font-family: Oswald;\r\n" + 
                                        "    -fx-font-size:15px;    ");
                              alerta.showAndWait();  

                             }



                  }catch (SQLException e) {

                  }

             }

             seleccionaregistros();
        } 

1 Ответ

0 голосов
/ 16 ноября 2018

Вы выполняете обновление дважды:

ps.executeUpdate(); 
int comparar = ps.executeUpdate();

Запись удаляется при первом вызове метода executeUpdate().На следующей строке при повторном вызове метода и установке переменной comparar удалить нечего, поэтому затрагиваются 0 строк.

Удалите первую ps.executeUpdate(), и вы увидите другой результат.

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