在JavaFX中向TableView添加非字符串值

时间:2015-09-28 14:25:32

标签: database javafx tableview

我正在使用JAVAFX并连接到数据库。应将查询输出复制到我在舞台中创建的tableview。我想知道如何实现这一目标。另外,我们不能在TableView中向单元格添加非字符串数据类型?

方案是查询SQL DB并将结果发送到我已经创建的tableview。 SQL输出确实具有非字符串数据类型值。我想将ResultSet值放在一个阶段的Tableview中。

以下是我无法继续进行的计划部分。

        Connection conn = null;    
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/table1","root","r1234");
        } catch (SQLException ex) {
            System.out.println("Connection Failed");
            ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(TestFX.class.getName()).log(Level.SEVERE, null, ex);
        }
        if (conn!=null) {
        text.setText("Connnection Established");
        }
        Stage secondary = new Stage();
        secondary.setTitle("DB Query Output");
        TableView TB = new TableView();
        TableColumn c1 = new TableColumn("SEQ_ID");
        TableColumn c2 = new TableColumn("START");
        TB.getColumns().addAll(c1,c2);
        secondary.setScene(new Scene(root,500,300));
        root.getChildren().add(TB);
        secondary.show(); 

        Statement q=null;
        ResultSet rs=null;
        String query = "select SEQ_ID,START FROM TABLE1 ORDER BY SEQ_ID DESC LIMIT 10";
        try {
            q = conn.prepareStatement(query);
        } catch (SQLException ex) {
            Logger.getLogger(TestFX.class.getName()).log(Level.SEVERE, null, ex);
        }            
        try {
            rs = q.executeQuery(query);
        } catch (SQLException ex) {
            Logger.getLogger(TestFX.class.getName()).log(Level.SEVERE, null, ex);
        }            
          try {
                while(rs.next())
                {
                    int SEQ_ID = rs.getInt("SEQ_ID");
                    float START =rs.getFloat("START");
                    System.out.print(SEQ_ID + "  " + START );
                    System.out.println();

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

0 个答案:

没有答案