@jairodione escreveu:
Gostaria de alterar somente o valor de um único atributo do BD (saldo), na verdade gostaria de colocar o valor(0.00) neste atributo. Fiz um método mais não estou conseguindo atualizar o valor do atributo saldo no BD. Abaixo está descrito o método:
//metodo para zerar saldo de contas de receita e despesa public void zeraSaldo() throws SQLException { String sql = "update contas set consaldo=0.00 where tipocodigo=1"; PreparedStatement ps = null; Contas contas = new Contas(); try { ps = connection.prepareStatement(sql); ps.setString(1, contas.getConDescricao()); ps.setInt(2, contas.getTipoCodigo()); ps.setDouble(3, contas.getConSaldo());/*GOSTARIA DE ATUALIZAR OU SEJA DE COLOCAR O VALOR O.OO NESTE ATRIBUTO, QUERO DIZER NESTE OBJETO, MAS ATUALIZAR ESTE VALOR NO BD.*/ ps.setInt(4, contas.getConCodigo()); ps.execute(); } catch (SQLException ex) { Logger.getLogger(ContaDAO.class.getName()).log(Level.SEVERE, null, ex); } finally { connection.close(); ps.close(); } /*String sql = "select * from contas where tipocodigo = 1 order by condescricao"; PreparedStatement ps = null; ResultSet rs = null; List<Contas> listaContas = new ArrayList<Contas>(); try { ps = connection.prepareStatement(sql); rs = ps.executeQuery(); while (rs.next()) { Contas contas = new Contas(); contas.setConCodigo(rs.getInt("concodigo")); contas.setConDescricao(rs.getString("condescricao")); contas.setTipoCodigo(rs.getInt("tipocodigo")); contas.setConSaldo(rs.getDouble("consaldo")); listaContas.add(contas); //System.out.println("Conta: " + contas.getConDescricao() +" ---> Saldo: "+contas.getConSaldo()); if(contas.getConSaldo() < 0){ System.out.println("Conta: " + contas.getConDescricao() +" ---> Saldo: "+contas.getConSaldo()); contas.setConSaldo(rs.getDouble(0.00)); System.out.println("Saldo apos zerar Conta: " + contas.getConDescricao() +" ---> Saldo: "+contas.getConSaldo()); } } } catch (SQLException erro) { Logger.getLogger(ContaDAO.class.getName()).log(Level.SEVERE, null, erro); } finally { //connection.close(); //ps.close(); //rs.close(); }*/ }
O console do NetBeans mostra o seguinte erro:
Mar 14, 2017 7:48:11 PM br.com.jairo.dao.ContaDAO zeraSaldo
SEVERE: null
org.postgresql.util.PSQLException: O índice da coluna está fora do intervalo: 1, número de colunas: 0.
at org.postgresql.core.v3.SimpleParameterList.bind(SimpleParameterList.java:52)
at org.postgresql.core.v3.SimpleParameterList.setNull(SimpleParameterList.java:129)
at org.postgresql.jdbc2.AbstractJdbc2Statement.setString(AbstractJdbc2Statement.java:1241)
at org.postgresql.jdbc2.AbstractJdbc2Statement.setString(AbstractJdbc2Statement.java:1230)
at br.com.jairo.dao.ContaDAO.zeraSaldo(ContaDAO.java:335)
at br.com.jairo.controle.Fechamento.processRequest(Fechamento.java:43)
at br.com.jairo.controle.Fechamento.doGet(Fechamento.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
at java.lang.Thread.run(Thread.java:722)Alguem pode me mostrar onde estou errando!
Mensagens: 4
Participantes: 2