Database 在JavaFX中将非字符串值添加到TableView

Database 在JavaFX中将非字符串值添加到TableView,database,javafx,tableview,Database,Javafx,Tableview,我正在使用JAVAFX并连接到数据库。查询输出应该复制到我在阶段中创建的tableview。我想知道如何做到这一点。另外,我们不能将非字符串数据类型添加到TableView中的单元格中吗 该场景是查询SQL数据库并将结果发送到我已经创建的tableview。SQL输出没有非字符串数据类型值。我想将ResultSet值放入stage中的Tableview中 这是我无法继续的部分 Connection conn = null; try {

我正在使用JAVAFX并连接到数据库。查询输出应该复制到我在阶段中创建的tableview。我想知道如何做到这一点。另外,我们不能将非字符串数据类型添加到TableView中的单元格中吗

该场景是查询SQL数据库并将结果发送到我已经创建的tableview。SQL输出没有非字符串数据类型值。我想将ResultSet值放入stage中的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);
            }
        }            
    });

欢迎来到StackOverflow。目前,您的问题(相当长的一段路)与本论坛的主题无关,本论坛旨在解决特定的编程问题,而不是一般的“如何”类型的问题。我建议您花一点时间浏览网站,了解该网站,然后如果可能,编辑您的问题,以显示您尝试了什么以及您的具体问题在哪里。包括一份工作总是一个好主意。(当然,您可以在
表视图中使用非字符串值)嗨,詹姆斯,谢谢您的建议。此后,将确保遵守站点规则。您需要创建一个类来表示每行中的数据。然后,当您循环遍历结果集时,在每次迭代中创建该类的对象,并将其添加到表的
列表中。我还强烈建议不要对
TableView
TableColumn
s使用原始类型,即您应该使用
TableView tb=new TableView()
表列c1=新表列(“序号ID”)等。感谢您的帮助。我能解决这个问题。我正在使用服务和任务更新tableview。我有一个BorderPane,其中包含一个tableview和一个textField。在更新tableview时,我想根据表中的值更新textField中的文本。有没有办法做到这一点?这是更新TableviewArrayList arrList=new ArrayList()的代码部分;ResultSet rs=c.createStatement().executeQuery(SQL);while(rs.next()){kps.setKr6(rs.getDouble(“B”);arrList.add(kps);}迭代器itr=arrList.Iterator();while(itr.hasNext()){prodSqlList.add((SQLObject)itr.next());}updateValue(prodSqlList);