SQL Server:在Java文本字段中显示结果

SQL Server:在Java文本字段中显示结果,java,sql,sql-server,database,swing,Java,Sql,Sql Server,Database,Swing,我使用MS SQL Server和Java与JDBC进行连接。 我不知道如何在Java字段中显示简单SQL查询的结果。使用外部JARrs2xml在JTable中显示我的数据没有问题 可以在面板上打印我的表格 String MaxQuery = "SELECT * FROM Employees"; PreparedStatement pst=con.prepareStatement(MaxQuery); ResultSet rs=pst.executeQuery(); table.setModel

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

可以在面板上打印我的表格

String MaxQuery = "SELECT * FROM Employees";
PreparedStatement pst=con.prepareStatement(MaxQuery);
ResultSet rs=pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
但是当我想显示一个简单的查询,比如“从员工中选择平均预算”和一个结果时,我想在文本字段中打印这个

setModel方法不适用于文本字段。所以我试过这样的方法:

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

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

我认为您需要使用与

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

下面是一个很好的例子

,考虑一下这个问题。简单地看一下ResultSet API就可以很快回答这个问题。问题是,这个结果没有列名。当我说“从员工中选择平均值(预算)”时,没有定义列名。您可以通过索引指定列,
getString(int)
;请记住,在JDBC中,它是1索引的,而不像Java API的其余部分那样是0索引的。非常感谢!那是我的问题。我几个小时前就这么做了,但我曾经用过0。。。