在jtable中显示数据库信息

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("数据库连接失败!");
       }



hobo 2008-08-12 15:08 发表评论
posted @ 2008-08-12 15:08  无业の游民  阅读(652)  评论(0编辑  收藏  举报