首页 > 解决方案 > 如何从数据库中填充 jTable?

问题描述

您好,我想从数据库中填充一个表,但我有一些困难,因为我是 java 编程的新手,这里是实现方法 getData(select) 的 Users.java:

@Override
public Users getData(Users u) throws Exception {
    Connection con = null;
    Users user = null;
    ResultSet rs = null;
    PreparedStatement ps = null;
    try{
        con = getConnection();
        String sql = "SELECT * FROM USERS";
        ps = con.prepareStatement(sql);
        rs = ps.executeQuery();
        while(rs.next()){
            user = new Users();
            user.setFirstName(rs.getString("First_NAME"));
            user.setLastName(rs.getString("LAST_NAME"));
            user.setAge(rs.getInt("AGE"));  
        }
    
    }catch(Exception ex){
         JOptionPane.showMessageDialog(null,ex.getMessage());
    }finally{
            rs.close();
            ps.close();
            closeConnection(con);
    }
    return user;
}

那么数据现在存储在 Users 对象中,我想将它显示在位于 patientJframe 文件中的 jTable 上,你能告诉我该怎么做吗?我在 PatientJframe 上创建了一个方法,但我不知道该怎么做我卡在这里。

患者框架:

    public void PopulatejTable(){

   try { 
   
       Users u = null;
       Users user = UsersDB.getInstance().getData(u);
       
       if(user== null){
       DefaultTableModel dtm = (DefaultTableModel)jTable.getModel();
       dtm.setRowCount(0);
       Vector vector = new Vector();
       vector.add(user.getCin());
       vector.add(user.getLastName());
       vector.add(user.getFirstName());
       }else{
       JOptionPane.showMessageDialog(null,"Faild");
       }
       } catch (Exception ex) {
      Logger.getLogger(AddNewPatient.class.getName()).log(Level.SEVERE, null, ex);
    }
}

方法是否正确?你能帮帮我吗?

标签: javadatabaseswingjtable

解决方案


推荐阅读