如何使用Swing JButton检索以前的查询

时间:2010-03-07 17:20:25

标签: java jdbc

前段时间我编写了一段代码,其中ResultSet类res的对象能够使用res.next()来检索数据库的下一行。但是当使用res.previous()时,即使在结果集类中定义了该方法,它也无法正常工作。

public void actionPerformed(ActionEvent e) {
    if (e.getSource() == next) {
        try {
            res.next();
        } catch(Exception ee) {
        }
        showRecord(res);
    }
}

此处res.next()很好,但res.previous()无法正常工作,即使它从未发出任何错误或警告。即使我做了TYPE INSENSITIVE,它也从未奏效?

showRecord(res);用于打印行。

1 个答案:

答案 0 :(得分:4)

这是一个坏主意。您不应该传递ResultSet实例。我建议将其映射到对象或数据结构,关闭finally块中的所有JDBC资源,并将对象或数据结构传递回UI层。

如果您坚持使用ResultSet,则上述所有其他注释仍然适用。只需使用CachedRowSet而不是ResultSet。

您可以按照自己喜欢的方式导航该数据结构或对象,因为您不再受限于数据库。你只需要聪明一下你带回多少数据。如果需要,你还需要一个回溯并获得下一个块的策略。