Java从resultSet生成查询并执行新查询

时间:2011-07-11 16:16:22

标签: java resultset

我正在尝试使用一些查询结果来生成另一个查询并执行新查询,但这似乎不起作用。第二个查询未执行。有人可以告诉我为什么吗?这是代码的一部分。

Statment stmt = connnection.createStatement();
Statment stmt2 = connnection.createStatement();
ResultSet r =  stmt.executeQuery("Select * from employees");
while (r.next()) {
            String Str = "Select name from employees where employeeId = " + (r.getInt(3) + 1);
            System.out.println(str);
            query = stmt2.executeQuery(str);
            System.out.println(query.getString(1));}

似乎生成了正确的查询,但是不会执行。是否有这样的原因。 BTW“查询”被声明为结果集。 感谢

1 个答案:

答案 0 :(得分:2)

您只能在一个时刻针对一个数据库连接执行一个语句 - 因此您可以打开另一个数据库连接并在第二个连接中执行第二个语句,或者从第一个语句迭代结果集并存储employees数据库id(例如在数组/集合中)然后关闭该语句并运行第二个语句,这次从您保存它们的数组/集合中检索id。