我正在为我的妻子创建一个小病人管理软件。该程序功能齐全,但一旦我更新患者数据或排除任何登记册,我就会遇到问题。我有一个搜索表格来带入所有患者(使用日期、姓名...),然后我选择所需的患者(从上次访问开始),所有患者的数据都显示在另一个表格中。我可以更新数据,排除这次访问,但是一旦我保存它,这个表格(次要)就会关闭(处理)。但主要形式(搜索形式)保留以前的值。关闭辅助窗体后如何刷新主窗体???多谢
编辑:忘了说它的Java - sry ;)
Edited2:这是我用来调用辅助表单的方法。我使用 Netbeans 创建项目。
private void btn_selecionaActionPerformed(java.awt.event.ActionEvent evt) {
try{
int sel = tabela.getSelectedRow();
if (sel != -1){
String sql = "select * from agendados "
+ "where numag = " + modelo.getValueAt(sel, 5);
con_mnt.executaSQL(sql);
func = new Funcoes();
func.carregaDados(dados, con_mnt.rs);
new CarregarAgendamento(func.getDados()).setVisible(true);
} else{
JOptionPane.showMessageDialog(null, "Selecione algum paciente antes.", " Atenção!!!", JOptionPane.ERROR_MESSAGE);
}
}
catch(SQLException | NumberFormatException e){
JOptionPane.showMessageDialog(null, "Nao existe dados ainda", " Atenção!!!", JOptionPane.ERROR_MESSAGE);
}
}
编辑 3:保存、删除和 salvarAgenmento 方法:
private void btn_salvaActionPerformed(java.awt.event.ActionEvent evt) {
salvarAgendamento();
dispose();
}
private void btn_deleteActionPerformed(java.awt.event.ActionEvent evt) {
if(javax.swing.JOptionPane.showConfirmDialog(null,"Deseja realmente Excluir este Agendamento?","ATENÇÃO ",javax.swing.JOptionPane.YES_NO_OPTION )==0)
{
con_ag = new Firebird(func.fullPath("/db/manutencao.fdb"));
con_ag.removeFDB("agendados", "numag", jt_cod.getText());
Agendados.refresh = 1;
this.dispose();
}
}
public void salvarAgendamento(){
ArrayList<Object> colunas = new ArrayList<>();
ArrayList<Object> valores = new ArrayList<>();
calendario = new Calendario();
if (jcb_motivo.getSelectedIndex() == -1)
{
JOptionPane.showMessageDialog(null, "Faltou o Motivo do Agendamento!");
jcb_motivo.requestFocus();
}
else if (jt_dataAg.getText().equals(""))
{
JOptionPane.showMessageDialog(null, "Faltou a Data do Agendamento!");
jt_dataAg.requestFocus();
}
else if (dados.getStatusAg() == 0)
{
JOptionPane.showMessageDialog(null, "Faltou selecionar o Status do Agendamento!");
jcb_status.requestFocus();
}
else
{
calendario.dataFormatada("dd/mm/yyyy", "yyyy-mm-dd", jt_dataAg.getText());
dados.setDataAg(calendario.getDataFormatada() + " 00:00:00");
colunas.add("statusag");
colunas.add("obs");
valores.add(jt_tel1.getText());
valores.add(jt_tel2.getText());
valores.add(jt_cel.getText());
valores.add(dados.getConvenioNum()); //convnum
valores.add(dados.getDentistaNum()); //dentnum
valores.add(jcb_motivo.getSelectedItem());
valores.add(dados.getDataAg()); //dataag
valores.add(dados.getStatusAg()); //statusag
valores.add(area_obs.getText());
valores.add(jt_cod.getText());
grava(valores);
JOptionPane.showMessageDialog(null, "Agendamento alterado com sucesso!");
dispose();
}
}