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