0

所以我想要做的是,当我在 a 中输入主 IDJTextField并单击继续时,它将采用该主 ID并将其作为新记录存储在另一个表中。当您单击继续时会发生什么,它会将您带到另一个应用程序,其中显示前一个应用程序的主 ID 。

我的问题是它不会让我显示文本。我的错误说:

non-static variable pat_id cannot be referenced from a static context

我该如何绕过这个?

这是我的代码:

private void proceedActionPerformed(java.awt.event.ActionEvent evt) {                                        
    try {

        String sql = "Insert into medicalRec (patient_id)" + " values (?)";

        pst = conn.prepareStatement(sql);
        pst.setInt(1, Integer.parseInt(pat_id.getText()));
        pst.execute();
        new medRec().setVisible(true);

        String sql2 = "select * from PATIENT where patient_id=?";
        pst = conn.prepareStatement(sql2);
        rs = pst.executeQuery();
        rs = pst.executeQuery();
        if (rs.next()) {

            String add0 = rs.getString("patient_id");
            medRec.pat_id.setText(add0);
        }

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}
4

1 回答 1

0

这里的困惑似乎与您的 medRec 课程有关。在没有看到所有代码的情况下,我可以打赌 medRec 是一个类名,而 pat_id 是一个看起来像这样的实例变量:

public class medRec {
     ...
     public JTextField pat_id = new JTextField();
     ...
     public void setVisible(boolean b){ ... }
}

这意味着您应该首先获取该类的实例,将其保存为变量并在其上操作 setVisible 和 pat_id,如下所示:

medRec mr = new medRec();
mr.setVisible(true);
mr.pat_id.setText("abc");
于 2013-06-05T17:03:49.447 回答