Parece-me que o erro se resume em usar o mesmo objeto Statement, antes de terminar o processamento anterior. Galileu Batista www.jspbrasil.com.br www.soujsp.com.br > O problema é o seguinte. Eu quero calcular um total, inserindo em um campo, de que mesa quero fazer isso. Ele pega essa mesa, vai na tabela pedido, e pega qual o codigo do produto e a quantidade. Com o codigo do produto ele vai na tabela produto e pega o preco relacionado a esse codigo. > Eu fiz um loop enquanto tivesse registro e incrementava o total do pedido. > O codigo fonte esta aí embaixo. > O problema é quando ele chega na "reset = statement.executeQuery(prec);", la perto do final. Ele so executa uma vez o do/while mesmo tendo 3 registros. E se eu colocar essa linha e as 3 abaixo dela como comentario, o programa passa pelos loops, tanto do for quanto do do/while todas as vezes. > Nao se pode, no mesmo ResultSet executar instrucoes diferentes??? > Como eu faria para calcular esse total? > Obrigado > Andre > > > Statement statement = conexao.createStatement(); > String codigo = "SELECT codproduto, quantidade FROM pedido WHERE mesa ='" + painel.mesa.getText() +"'"; > > ResultSet rs = statement.executeQuery(codigo); > rs.next(); > ResultSetMetaData rsmd = rs.getMetaData(); > int quantidade = 0, preco=1; > String codproduto = "", prec; > float total = 0; > ResultSet reset; > do > { > for (int i = 1; i <= rsmd.getColumnCount(); ++i) > { > switch (rsmd.getColumnType(i)) { > case Types.VARCHAR: > { > codproduto = rs.getString(i); > } > break; > case Types.INTEGER: > { > quantidade = rs.getInt(i); > } > break; > default: > > } > > } > prec = "SELECT preco FROM produto WHERE codproduto = '"+ codproduto +"'"; > reset = statement.executeQuery(prec); > reset.next(); > preco = reset.getInt(1); > total = total + (preco * quantidade); > > } > while ( rs.next()); > > painel.total.setText(Float.toString(total)); > > saida.setText("Total Calculado"); > saida.repaint(); > > statement.close(); > } > catch (SQLException sqlex) { > sqlex.printStackTrace(); > saida.append( sqlex.toString()); > __________________________________________________________________________ Acesso fácil, rápido e ilimitado? Suporte 24hs? R$19,90? Só no AcessoBOL. http://www.bol.com.br/acessobol/ ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------