Java генерирует запрос из resultSet и выполняет новый запрос - PullRequest
0 голосов
/ 11 июля 2011

Я пытаюсь использовать какой-либо результат запроса для генерации другого запроса и выполнения нового запроса, но, похоже, это не работает.Второй запрос не выполняется.Может кто-нибудь сказать, пожалуйста, почему?Это та часть кода.

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));}

Правильный запрос создается, но не выполняется.Есть ли причина, почему это так?Кстати, «запрос» объявляется как набор результатов.Спасибо

1 Ответ

2 голосов
/ 11 июля 2011

вы можете иметь только один оператор, выполняемый в один момент времени для одного соединения с базой данных - так что вы можете либо открыть другое соединение с базой данных и выполнить второй оператор во втором соединении, либо выполнить итерацию по результирующему набору из первого оператора и сохранитьИдентификаторы базы данных сотрудников (например, в массиве / коллекции) затем закрывают этот оператор и запускают второй, на этот раз извлекая идентификаторы из массива / коллекции, в котором вы их сохранили.

...