Como comparar um dado do banco com um digitado pelo usuario em Desktop

4 respostas
G

Estou com um problema para comparar o nome e senha de um usuario gravado no banco de dados com um digitado pelo usuario,
ate esta entrando no banco porem, só da que a senha esta incorreta, se alguem puder me ajudar eu agradeço, abaixo esta um pedaço do meu codigo é em java apricação para desktop muito obrigado

[b]

try

{

Class.forName(driver);

conexao = DriverManager.getConnection(url,login,passwd);

}

catch(java.lang.Exception ex)

{

System.out.println(ex);

}

try

{	

Statement sent= conexao.createStatement();

ResultSet rs = sent.executeQuery(select * From CAD_SENHA where Usuario =  + usu1.getText() +  and Senha = +senh1.getText()+’”);
if(rs.next())
					{
						Inicial i=new Inicial();
					}
					else
					{
						JOptionPane.showMessageDialog(null, "Usuario ou senha Incorretos!!!!!");
					}
					sent.close();	
				}
				catch(SQLException ex)
				{
					System.out.println("Erro de consulta ao sair do campo");
				}[/b]

4 Respostas

claudiom

a mensagem aparece porque ele caiu no else do rs.next() ou seja, não encontrou registro algum…
ou seja, deve ser problema com a query…

dica para descobrir por que coisas dão errado com sua query:

dá um System.out.println na query que você está enviando para o banco de dados…
vai descobrir rapidamente o problema…

um adendo:

após descobrir o problema, utilize um preparedStatement no lugar do statement, e evite Sql injections

AndreMendes

Me parece que o erro está aqui:

ResultSet rs = sent.executeQuery("select * From CAD_SENHA where Usuario = '"+usu1.getText()+"' and Senha ='"       +senh1.getText()+"'");

Fique atendo quando usar as aspas simples.
Pesquise sobre o PreparedStatement.

R

Tente colocar um laço WHILE no lugar do IF

G

Muito Obrigado pelo ajuda de vcs…deu certo

Muito obrigado

Criado 8 de julho de 2010
Ultima resposta 9 de jul. de 2010
Respostas 4
Participantes 4