Mas o seu código está retornando algum erro? Eu prefiro suar PreparedStatement ao invés de Statement e setar os parametros ao invés de concatenar direto na String (query). Mas enfim.
cara posso estar errado e se estiver alguem me corrija, mas dentro do seu rs.next(), vc tem que comparar os nomes da sua coluna de cadastro. Como por exemplo:
como é um sistema bancario, pode ter varias contas em um unica agencia…
se colocar UNIQUE em numero_agencia e/ou numero_conta, pode dar problema na hora de cadastrar uma nova conta em ua agencia diferente,e vice-versa…
por exemplo…
-Conta 1 na Agencia 1
-Conta 1 na Agencia 2 [aqui daria problema pq ja existiria uma conta “1”]
-Conta 2 na Agencia 1 [ o mesmo caso de cima…ja existiria uma Agencia “1” e não gravaria]
Tentei seguir a dica do Everton…
fiz da seguinte forma…ñ sei se está certo…
[code]try{
MinhaConexao mc = new MinhaConexao();
Connection con = mc.getConexao();
Statement query = (Statement) con.createStatement();
PrintWriter out = response.getWriter();
aconteceu a mesma coisa q com as outras tentativas…aparece como se tivesse gravado…mas ñ gravou…
mas desta vez, no console apareceu o seguinte erro…
Conta Bancaria
java.sql.SQLException: Illegal operation on empty result set.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:835)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5571)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5491)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5531)
at tr.ContaBancaria.Inserir(ContaBancaria.java:384)
at tr.ContaBancaria.doPost(ContaBancaria.java:105)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
não sei o q pode ser…
ese erro apareceu quando eu coloquei uma conta q ñ existia ainda no banco…
quando coloquei uma conta igual, ao invés de “java.sql.SQLException: Illegal operation on empty result set.” apareceu “Conta já existe”
aos poucos o problema está se resolvendo…mas ainda não sei como resolver por completo…=\
É simples. Esta linha diz tudo: java.sql.SQLException: Illegal operation on empty result set.
Simplesmente seu select não encontrou ninguém no banco o que faz com que o seu result set seja vazio. Ele simplesmente está dizendo que você não pode realizar nenhum tipo de operação se o seu result set vem vazio.
faça apenas assim if(rs.next()) antes do if do equals ok?