簡體   English   中英

從另一個Frame插入數據后刷新JTable

[英]Refresh JTable after inserting data from another Frame

當我打開AdminPanel ,它包含帶有PatientRecordsJTable和用於打開添加病人的框架的按鈕。在填寫表格后,我單擊ADD按鈕並將其保存到數據庫中

int YesOrNo = JOptionPane.showConfirmDialog(null, "Do you want to save?", "Save",JOptionPane.YES_NO_OPTION);
    if(YesOrNo == 0){
        try{
        String sql = "Insert into Patient_Records (First_Name,Last_Name,MI,Age,Birth_Date,Gender,Marital_Status,Street,City,[State/Province],Zip_Code,Country,Contact_No,Email_Address,Registered_Date,[In/Out]) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
        pst = conn.prepareStatement(sql);

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String now = (sdf.format(new java.util.Date()));
                pst.setString(1, ADDFIRSTNAME.getText());
                pst.setString(2, ADDLASTNAME.getText());
                pst.setString(3, ADDMIDDLEINITIAL.getText());
                pst.setString(4, ADDAGE.getText());
                pst.setString(5, ((JTextField)ADDDATE.getDateEditor().getUiComponent()).getText());
                pst.setString(6, (String) ADDGENDERBOX.getSelectedItem());
                pst.setString(7, (String)ADDSTATUS.getSelectedItem());
                pst.setString(8, ADDADDRESS.getText());
                pst.setString(9, ADDADDRESS1.getText());
                pst.setString(10, ADDADDRESS2.getText());
                pst.setString(11, jTextField3.getText());
                pst.setString(12, (String)ADDCOUNTRY.getSelectedItem());
                pst.setString(13, jTextField1.getText());
                pst.setString(14, jTextField2.getText());
                pst.setString(15, now);
                pst.setString(16, "0");
        String CN = jTextField1.getText();
        String EA = jTextField2.getText();
        String F = ADDFIRSTNAME.getText();
        String M = ADDLASTNAME.getText();
        String L = ADDMIDDLEINITIAL.getText();
        if(!ConValid(CN)){
            JOptionPane.showMessageDialog(null, "Contact Number is not valid","Invalid Input",JOptionPane.WARNING_MESSAGE);
        }else if(!ConValid(CN)){
            JOptionPane.showMessageDialog(null, "Contact Number must contain 11 number(s)","Invalid Input",JOptionPane.WARNING_MESSAGE);
        }else if(!valEmail(EA)){
            JOptionPane.showMessageDialog(null, "Invalid Email Address","Invalid Input",JOptionPane.WARNING_MESSAGE);
        }else if(!OnLetter(F) || !OnLetter(M) || !OnLetter(L)){
            JOptionPane.showMessageDialog(null, "Name must not contain number(s)","Invalid Input",JOptionPane.WARNING_MESSAGE);
        }else{
            JOptionPane.showMessageDialog(null, "Saved","Saved",JOptionPane.INFORMATION_MESSAGE);
            pst.execute();
            AdminPortal AP = new AdminPortal();
            AP.PatientRec();
        }
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
    }else{

    }

在那之后我退出,我充滿病歷框架和AdminPanelJTable包含PatientRecords做MOT刷新

我嘗試了這段代碼

 AdminPortal AP = new AdminPortal();
                AP.PatientRec();

我該怎么辦?

這里的表需要用最新數據刷新。 為此,請按照以下步驟操作。

  • 保存操作成功完成后,清除JTable實例。
  • 調用用於顯示PatientRecords的例程/方法,新的調用將確保最新的數據反映在JTable實例中。

在代碼方面:

else{
            JOptionPane.showMessageDialog(null, "Saved","Saved",JOptionPane.INFORMATION_MESSAGE);
            pst.execute();

            //invoke method to clear/ reset JTable.

            //invoke method to populate JTable with fresh data.

            AdminPortal AP = new AdminPortal();
            AP.PatientRec();
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM