【问题标题】:Deleting a appointment from a db从数据库中删除约会
【发布时间】:2018-06-20 18:44:29
【问题描述】:

我正在尝试删除一个已预约的预约,该预约在预约完成时由用户插入,当我搜索它时,它会显示,但是当我尝试删除它时,没有任何反应,我会贴上控制器的完整代码,以便您更好地理解。

public class ProgramariDBController implements Initializable {

    @FXML
    private TextField cpn;
    @FXML
    private TableView<DetaliiProgramari> ProgrDB;
    @FXML
    private TableColumn<DetaliiProgramari, String> Nume;
    @FXML
    private TableColumn<DetaliiProgramari, String> Prenume;
    @FXML
    private TableColumn<DetaliiProgramari, String> Data;
    @FXML
    private TableColumn<DetaliiProgramari, String> Ora;
    @FXML
    private TableColumn<DetaliiProgramari, String> Departament;
    @FXML
    private TableColumn<DetaliiProgramari, String> Doctor;
    @FXML
    private TableColumn<DetaliiProgramari, String> Nr_telefon;

    public LogareController Numeutilzator = new LogareController();
    private ObservableList<DetaliiProgramari> Info;


    @Override
    public void initialize(URL url, ResourceBundle ResurcesFORDAYS) {
        // TODO

    }

    @FXML
    private void AfiseazaProgramari(ActionEvent event) {
        try {
          ConectaredB ConectaredB=new ConectaredB();
            Connection conectare=ConectaredB.logareDB();

            Info = FXCollections.observableArrayList();
            String CNP=cpn.getText();
            ResultSet IncDate = conectare.createStatement().executeQuery("SELECT *  FROM programari where CNP=" + CNP);
            while (IncDate.next()) {

                Info.add(new DetaliiProgramari(IncDate.getString(2), IncDate.getString(3), IncDate.getString(4),
                        IncDate.getString(5), IncDate.getString(6), IncDate.getString(7), IncDate.getString(8)));
            }

        } catch (SQLException ex) {
            System.err.println("Error"+ex);
        }


        Nume.setCellValueFactory(new PropertyValueFactory<>("Nume"));
        Prenume.setCellValueFactory(new PropertyValueFactory<>("Prenume"));
        Data.setCellValueFactory(new PropertyValueFactory<>("Data"));
        Ora.setCellValueFactory(new PropertyValueFactory<>("Ora"));
        Departament.setCellValueFactory(new PropertyValueFactory<>("Departament"));
        Doctor.setCellValueFactory(new PropertyValueFactory<>("Doctor"));
        Nr_telefon.setCellValueFactory(new PropertyValueFactory<>("Nr_telefon"));

        ProgrDB.setItems(null);
        ProgrDB.setItems(Info);
    }

    @FXML // Here is the method that I've wrote.
    private void delete(ActionEvent event) throws IOException  {
        try { 


            String sql = "delete FROM programari where CNP=?";
            ConectaredB ConectaredB=new ConectaredB();
            Connection conexiune=ConectaredB.logareDB();
            PreparedStatement ps = conexiune.prepareStatement(sql);
            String CNP=cpn.getText();
            ps.setString(1, CNP);
            ResultSet result = ps.executeQuery();

        } catch (Exception e) {
            // TODO: handle exception
        }
    }
}

【问题讨论】:

  • 与您的问题无关:请学习 java 命名约定并遵守它们
  • 会做的,谢谢。
  • 更好地开始现在 ...

标签: java mysql sql javafx


【解决方案1】:

SQL 删除不返回ResultSet,您需要调用executeUpdate()。改变这个

ResultSet result = ps.executeQuery();

ps.executeUpdate();

如果你想验证结果,你可以知道有多少被删除了。

int count = ps.executeUpdate();

【讨论】:

  • 非常感谢你顺便说一句!我会尽快接受回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
  • 1970-01-01
  • 2013-05-05
  • 1970-01-01
  • 2012-09-17
  • 1970-01-01
相关资源
最近更新 更多