Alguém poderia por favor dizer o que tem de errado neste codigo por favor???
packageportal;importjava.sql.ResultSet;importcom.mysql.jdbc.Statement;publicclassVerificaLogin{publicStringgetLogin(Stringmatricula,Stringsenha){newVerificaLogin(matricula,senha);if(matricula=="user"){return"Login Correto!";}else{return"Usuário Errado";}}publicVerificaLogin(Stringmatricula,Stringsenha){this(newConexaoMysql());}publicVerificaLogin(ConexaoMysqlconexaoMysql){Statementstate=null;ResultSetrs=null;try{state=(Statement)conexaoMysql.getConnection().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);[b]rs=state.executeQuery("Select * from users where matricula = '"+matricula+"' and senha = '"+senha+"' ");[/b]//while(rs.next()) {// System.out.println("Nome do Cliente: " + rs.getString("nome") + " Idade: " + rs.getString("matricula"));// System.out.print("----------------------------------------nn");}catch(Exceptionerro){System.out.println("Erro ocorrido: n"+erro);}finally{conexaoMysql.closeConnection();}}}
O erro esta dando na linha em negrito porque as variáveis ‘matricula’ e ‘senha’ não foram passadas.
Como posso passa-las para o metodo VerificaLogin assim como passei para o metodo getLogin (da servlet para a classe)???
Alguém poderia por favor dizer o que tem de errado neste codigo por favor???
packageportal;importjava.sql.ResultSet;importcom.mysql.jdbc.Statement;publicclassVerificaLogin{publicStringgetLogin(Stringmatricula,Stringsenha){newVerificaLogin(matricula,senha);if(matricula=="user"){return"Login Correto!";}else{return"Usuário Errado";}}publicVerificaLogin(Stringmatricula,Stringsenha){this(newConexaoMysql());}publicVerificaLogin(ConexaoMysqlconexaoMysql){Statementstate=null;ResultSetrs=null;try{state=(Statement)conexaoMysql.getConnection().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);[b]rs=state.executeQuery("Select * from users where matricula = '"+matricula+"' and senha = '"+senha+"' ");[/b]//while(rs.next()) {// System.out.println("Nome do Cliente: " + rs.getString("nome") + " Idade: " + rs.getString("matricula"));// System.out.print("----------------------------------------nn");}catch(Exceptionerro){System.out.println("Erro ocorrido: n"+erro);}finally{conexaoMysql.closeConnection();}}}
O erro esta dando na linha em negrito porque as variáveis ‘matricula’ e ‘senha’ não foram passadas.
Como posso passa-las para o metodo VerificaLogin assim como passei para o metodo getLogin (da servlet para a classe)???
Obrigada!!!
Cara evite usar coisas estaticas.
packageportal;importjava.sql.ResultSet;importcom.mysql.jdbc.Statement;publicclassVerificaLogin{privateConexaoMysqlconexaoMysql;publicbooleangetLogin(Stringmatricula,Stringsenha){Statementstate=null;ResultSetrs=null;try{state=(Statement)conexaoMysql.getConnection().createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);[b]rs=state.executeQuery("Select * from users where matricula = '"+matricula+"' and senha = '"+senha+"' ");[/b]//while(rs.next()) {// System.out.println("Nome do Cliente: " + rs.getString("nome") + " Idade: " + rs.getString("matricula"));// System.out.print("----------------------------------------nn");returntrue;}catch(Exceptionerro){System.out.println("Erro ocorrido: n"+erro);returnfalse;}finally{conexaoMysql.closeConnection();}}publicVerificaLogin(){conexaoMysql=newConexaoMysql();}}}
Mais simples e mais pratico, do que comparar com strings.
E
Ellensmp
Felagund,
Deu certinho, pelo menos no eclipse não deu erro.
Gostei sim da sua dica, realmente não compara e ficou bem mais limpo.
Um probleminha, quando fui executar da o seguinte erro no tomcat
[b]
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
Então, tem algum objeto sem referência e vc está tentando acessa-lo.
O erro está nesta linha 24 da classe ConexaoMysql no método closeConnection.
Dá uma olhada.