gpt4 book ai didi

java - 从ResultSet java中选择记录

转载 作者:行者123 更新时间:2023-12-01 14:32:45 27 4
gpt4 key购买 nike

我有一个很长的Java查询,它被放入结果集中并由executeQuery(string)方法执行。现在我需要遍历此结果集,查询结果集中的每条记录(方法 get_linked_OrgTickets 包含此查询)并仅输出从 ResultSet 返回 Vector linkedToTicket 中某些内容的行。我可以遍历这个 ResultSet 并将所述行复制到另一个结果集中,或者删除不从 ResultSet 输出的行吗?还有其他方法可以解决这个问题吗?

if (linked == J.LINKED_TO_ORG){
while (rs.next()){
Vector linkedToTicket = Ticket.get_linked_OrgTickets(con, rs.getInt(Ticket.FLD_ID));

if (linkedToTicket != null)
{
// if there are linked tickets in the result set, output them only

}
}
}

*编辑:*这些子查询无法与主查询集成。唯一的方法是在没有此查询的情况下执行主查询一次,然后在包含此查询的情况下执行第二次,这效率太低了。 ResultSet 类似乎不包含在不影响数据库的情况下删除行或“手动”构建 ResultSet 的方法。

请帮忙!

最佳答案

也许您可以操纵结果集中的光标并拾取正确的数据。像这样的事情

Statement stmt = connection.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet resultSet = stmt.executeQuery(
" SELECT col1 FROM tablename");
rs.absolute(5); // moves the cursor to the fifth row of rs
String field = rs.getString("MY_FIELD");

但是,请注意不要调用updaterow,因为您将修改底层数据行

关于java - 从ResultSet java中选择记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16731929/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com