首页 > 解决方案 > java jtable中用户登录后如何显示mysql数据库中的特定用户数据;

问题描述

我正在尝试开发一个Java桌面应用程序来处理两种类型的用户:管理员和教师,当用户登录时他甚至可以添加教师或课程,当教师登录系统时应该显示管理员的相关课程为这位老师输入了他们。所以假设我们有一位老师,但他有 3 门课程及其相关详细信息我面临的问题是,当我登录教师信息并且我需要在 jtable 中填充此详细信息时,他们没有什么可显示的,所以在我登录后通过用户名和密码,我需要从 Jtextfield 中获取用户名并将其放在 select 语句的 where 子句中,Jtable 中没有显示任何内容,请尽快帮助我

form login: private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO 在此处添加您的处理代码:try { // TODO 在此处添加您的处理代码:

        Class.forName("com.mysql.jdbc.Driver");
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:8889/test","root","root");
        String sql="select * from user where username= '"+txtuser.getText()+"' and password='"+txtpass.getText()+"'";
        PreparedStatement smt=con.prepareStatement(sql);
        ResultSet rs=smt.executeQuery();


    } catch (ClassNotFoundException | SQLException ex) {
        Logger.getLogger(test1.class.getName()).log(Level.SEVERE, null, ex);
    }
}     

表格评论:

     public capnel() {
        initComponents();
        updateTable();
    }
    public void setUser(String user) {this.lbluser.setText(user);

    }
    public String getUser() {return this.lbluser.getText();}
public void updateTable() {
        try {
            // TODO add your handling code here:
            Class.forName("com.mysql.jdbc.Driver");
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:8889/examdb", "root", "");
            String query = "select user.username, comments.comments from user,comments where user.username='"+lbluser+"'";
            PreparedStatement ps = connection.prepareStatement(query);
            ResultSet rs = ps.executeQuery();
            tbl1.setModel(DbUtils.resultSetToTableModel(rs));
        } catch (ClassNotFoundException | SQLException ex) {
            JOptionPane.showMessageDialog(null, ex);
        }
 }

标签: javamysqlswing

解决方案


推荐阅读