クエリ結果を使用して別のクエリを生成し、新しいクエリを実行しようとしていますが、動作していないようです。 2番目のクエリは実行されていません。誰か私に教えてもらえますか?これがコードの一部です。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の "query"は結果セットとして宣言されます。 ありがとう
おそらくこれは単純なサンプルコードに過ぎませんが、このN + 1クエリを単一のクエリに書き換えて、必要なすべてのデータを取得することもできます。 –
どういう意味ですか? – jpo
employeeid = this.id + 1の名前を取得するために、すべての従業員の行を選択し、それぞれの問合せを実行する必要はありますか?これを単一のクエリーに書き直すことができます。たとえば、「従業員e1の従業員e1の従業員e2の従業員e2の従業員e2.employeeid = e1.employeeid + 1」 –