这是SQL语句的java程序。我有两个问题。第二次查询需要第一次查询的结果。
如何在第二次查询中调用它?
这些结果是xml标记的值。
我需要获得此标记的第一个查询结果
child1.setAttributeNS(xlink,"xlink:type","");
但这位于第二个查询中,如果我尝试合并这两个查询,我会关闭eror结果集。
while(rs1.next()){
int i=0,j=0 ,locid,supid;
int lc[]=new int[100];
int sp[]=new int[100];
lc[i] = rs1.getInt(2);
sp[j] = rs1.getInt(1);
lcid=lc[i++];*/
for(i=0;i<loc[i];i++){
for(j=0;j<sup[j];j++){
lcid=lc[i]; spid=sp[j];
System.out.print(spid +" ");
System.out.println(lcid);
String s = (lc[i]==1 ? "simple" : (lc[i]>1 ? "extended" : null));
System.out.println(s); }}}
String querystring=
" ";
rs = stmt.executeQuery(querystring );
while(rs.next()){
Element child1 = doc.createElement("slink");
/
Element element = doc.createElement("loc");
答案 0 :(得分:2)
您需要为第二个Statement
创建一个全新的单独ResultSet
。每当您从单个ResultSet
中获得新的Statement
时,之前打开的每个rs = stmt.executeQuery(querystring );
都将被关闭。
替换
Statement stmt2 = connection.createStatement();
rs = stmt2.executeQuery(querystring);
通过
stmt2.close()
不要忘记将finally
添加到JOIN
块。
无关,您是否考虑过{{1}}两个查询并使用Javabeans来表示模型?这样,您最终会得到一个查询和更多自我记录的代码。