回 帖 发 新 帖 刷新版面

主题:怎么样才能把数据库中的数据显示在面板上的JTable中????急......

要怎么样才能把数据库中一张表的数据显示在Java面板中的JTable中啊?????[em18]

回复列表 (共1个回复)

沙发


1://一.新建一表格视图(MVC的View)
            JTable JTableView = new JTable();

2://二.新建一表格模板(MVC的Model)
             DefaultTableModel JTableModel = new DefaultTableModel() ;

3://三.新建createTableModel()方法
    private void createTableModel() {
       // JTableModel.setColumnCount(0); //清空表格模板内所有的列
       // JTableModel.setRowCount(0);    //清空表格模板内所有的行

   //   在表格模板中加入列
        JTableModel.addColumn("学号");
        JTableModel.addColumn("姓名");
        JTableModel.addColumn("性别");
        JTableModel.addColumn("成绩");

4: //四.在初始化组件的方法中调用createTableModel()方法
        createTableModel();

5: //五.在表格视图中设置要应用的表格模板
        JTableView.setModel(JTableModel);

6:   //   连接数据库第1种方法,直接写代码
        //1.加载驱动程序
       try {
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       } catch (Exception ex) {
           ex.printStackTrace();
           System.out.println("驱动程序加载失败!");
       }

       try {
       //2.建立数据库连接
           Connection con = DriverManager.getConnection("jdbc:odbc:Lesson12");
       //3.建立Statement语句执行对象
           Statement st = con.createStatement();
       //4.建立ResultSet结果集,执行SQL命令
           ResultSet rs = st.executeQuery("select * from StuScore");

//            Vector vcRows = new Vector();  //error 每行显示的都是第一条记录

              //在表格模板中加入行(将表内记录通过循环一行行添加到表格模板中去)
              while (rs.next())
              {
                     Vector vcRows = new Vector();

                     vcRows.addElement(rs.getInt(1));
                     vcRows.addElement(rs.getString(2));
                     vcRows.addElement(rs.getString(3));
                     vcRows.addElement(rs.getFloat(4));

                     // JTableModel.addRow(rs.getInt(1)); //error
                     // JTableModel.addRow(rs.getString(2)); //error
                     JTableModel.addRow(vcRows); //添加一行记录到表格模板中
              }

              //5.关闭连接
              rs.close();
              st.close();
              con.close();

             // DBConnection.closeStmtAndCon();  //关闭相关连接

       } catch (Exception ex) {
           ex.printStackTrace();
           System.out.println("数据库连接失败!");
       }

我来回复

您尚未登录,请登录后再回复。点此登录或注册