Pessoal, como eu posso testar se meu pool esta funcionando direito, quero dizer, criei uma classe de conexao e nela tudo OK, pois faco alguns INSERT, SELECT e UPDATE, creio estar corretos, mas quando vou fazer o pool, ai aparece o problema, eu tento comparar um campo com o outro e se eles estiverem corretos eu abro minha app, ou seja, é uma interface de Login.
Usuario
Senha
botao
app principal
O problema é que quando eu faco o pool, nada acontece, basta clicar em OK que eu fecha tudo, o que pode ser ??
A descricao do seu problema esta extremamente vaga. Um pouco de codigo ajudaria (nao o codigo da sua aplicacao inteira), ou dados mais precisos sobre o problema.
Rafael
A
asdhfsd87623
é esta bem vago, vou postar entao o codigo
try{ConectarSQLFazerLogin=newConectarSQL();PreparedStatementpstm=FazerLogin.con.prepareStatement("SELECT Nome, Senha FROM tbl_login where Nome = ? and Senha = ?");ResultSetrs=pstm.executeQuery();pstm.setString(1,"Nome");pstm.setString(2,"Senha");System.out.println(pstm);if(rs.next()){/* foram encontrados dados */javax.swing.JOptionPane.showMessageDialog(null,"Nome de arquivo invalido","Sistema de Frigorifico",javax.swing.JOptionPane.ERROR_MESSAGE);}else{/* Abre janela principal */frmPrincipalprincipal=newfrmPrincipal();principal.show();this.hide();}}catch(SQLExceptione){System.out.println(e.getMessage());}
Tenho uma classe que faz a conexao, essa esta OK
valew
Mauricio_Linhares
Não sei se você precebeu, mas você está executando a query antes de passar os parâmetros pra ela! :shock:
A
asdhfsd87623
verdade
mas como eu estou instanciando minha classe de conecao ele ja nao deveria estar fazendo isso ??
Mauricio_Linhares
Só se ele advinhasse os parâmetros.
Veja se assim funciona:
ConectarSQLFazerLogin=newConectarSQL();PreparedStatementpstm=FazerLogin.con.prepareStatement("SELECT Nome, Senha FROM tbl_login where Nome = ? and Senha = ?");pstm.setString(1,"Nome");pstm.setString(2,"Senha");ResultSetrs=pstm.executeQuery();
Outra coisa, em vez de colocar nome e senha como parâmetros, você não deveria colocar o nome e a senha a serem pesquisados não?
A
asdhfsd87623
Tres coisas mauricio,
Uma se eu entendi o que vc quis dizer, é que eu nao postei, mas eu tenho duas variaveis que recebem o nome e a senha.
Outra é quando eu instancio minha classe fazendo com que ela pegue os parametros de conexao ??
A ultima é que nao funciona, a mesma historia, vc clica em OK e ele fecha a tela de login, como se fizesse exit(0);
Como eu posso fazer isso ?
Mauricio_Linhares
O problema não é a conexão, é que você está criando um PreparedStatement com dois espaços (?), está mandando ele executar vazio (ele nunca vai retornar nada) e está colocando os parâmetros depois que ele foi executado. Na verdade nem parece que você está colocando os parâmetros, porque você está usando os mesmos nomes das colunas da tabela (Nome e Senha).
O correto é criar o PreparedStatement, preencher ele com os parâmetros necessários (que devem ser essas variáveis que você tem e não estão aparecendo) e depois executar o PreparedStatement.