【问题标题】:SQL Server: Displaying result in Java Textfield [duplicate]SQL Server:在 Java 文本字段中显示结果 [重复]
【发布时间】:2016-01-10 19:55:48
【问题描述】:

我使用 MS SQL Server 和 Java 与 JDBC 进行连接。 我不知道如何在 Java Texfield 中显示我的简单 SQL 查询的结果。使用外部 JAR rs2xml 在 JTable 中显示我的数据没有问题。

这样可以在面板中打印我的表格。

String MaxQuery = "SELECT * FROM Employees";
PreparedStatement pst=con.prepareStatement(MaxQuery);
ResultSet rs=pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));

但是当我想显示一个简单的查询,例如“SELECT AVG(budget) FROM Employees”,结果只有 1 个,我想在 文本字段

setModel 方法不适用于文本字段。所以我尝试了类似的方法:

String AVGQuery = "SELECT AVG(budget) FROM Employees";
PreparedStatement pst=con.prepareStatement(AVGQuery);
ResultSet rs=pst.executeQuery();
textFieldAns.setText(rs.toString());

但这会打印出“SQLServerResultSet:1”。我想要结果,而不是结果的数量。希望你能帮我解决我的小问题:)。

【问题讨论】:

标签: java sql sql-server database swing


【解决方案1】:

我相信你需要使用类似于

的代码
if (rs.next()) {
    textFieldAns.setText(rs.getString("column name you want to print");
}

这是一个很好的例子https://docs.oracle.com/javase/tutorial/jdbc/basics/retrieving.html

【讨论】:

  • 问题是,这个结果没有列名。当我说“SELECT AVG(budget) FROM Employees”时,未定义列名。
  • 可以按索引指定列,getString(int);请记住,在 JDBC 中它是 1 索引,而不是像 Java API 的其余部分那样索引为 0
  • 非常感谢!那是我的问题。我几个小时前就这样做了,但我曾经使用过 0...
猜你喜欢
  • 2018-11-12
  • 2017-11-27
  • 1970-01-01
  • 2017-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多