Stringquery1="Select * from produtos";Stringquery2="Select * from gcmt vendedor";ResultSetres1=stm.executeQuery(query1);while(res1.next()){ResultSetres2=stm.executeQuery(query2);// Ocorre o erro aqui!}res1.close();
E sempre ocorre um erro! Será que em java eu não consigo fazer isto não! pq em vb eu faço numa boa!
Obs: Obrigatoriamente um result tem que ficar dentro de outro!
Uma coisa é uma coisa e outra coisa é outra coisa…
No Javadoc diz:
javax.sql.Statement
The object used for executing a static SQL statement and obtaining the results produced by it.
Only one ResultSet object per Statement object can be open at any point in time. Therefore, if the reading of one ResultSet object is interleaved with the reading of another, each must have been generated by different Statement objects. All statement execute methods implicitly close a statment’s current ResultSet object if an open one exists.
Isso quer dizer em bom português que você precisa ter um Statement para cada ResultSet. Não tenha medo de criar variáveis…
warley
Obrigado pela ajuda!!
:lol:
warley
Bom, desculpe insistir mas ainda está ocorendo erro!
Veja:
<%Stringquery1="Select * from gcmtunimed";Stringquery2="Select * from gcmtdctpdr";try{Stringurl="jdbc:odbc:gcm_teste";Stringusuario="gcmuadmi";Stringsenha="Achiles";Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection(url,usuario,senha);Statementstm1=con.createStatement();Statementstm2=con.createStatement();ResultSetres1=stm1.executeQuery(query1);while(res1.next()){ResultSetres2=stm2.executeQuery(query2);//Ocorreoerroaqui!
}}catch(Exceptione){out.print("ERRO");}%>
ou então não pegue o erro (use um throw ex; na cláusula catch) e deixe o Tomcat mostrar aquela página horrível de erro contendo o stack trace (que é o que você quer ver).