Duvida: Acessando login e senha no MySql a partir do java

6 respostas
C

Criando um sistema de login e senha para implementa-lo em uma sessão, criei o seguinte código com objetivo de autenticar os usuários. Funciona, porém somente o último cadastro de login e senha da tabela "admin" no meu banco MySql tem acesso ao sistema.

Ou seja, se tiver 10 logins com suas respectivas senhas, somente o ultimo resultado do meu resultset.next passa a ter acesso ao sistema.

Como faria eu, para conseguir dar acessoa a mais de um login e sua respectiva senha. Sou iniciante, preciso de bastante ajuda.

Desde já grato!

String login = "";
			String senha = "";
		
		
		Class.forName("com.mysql.jdbc.Driver");
		Connection con = DriverManager.getConnection(conexao.banco);
			
		PreparedStatement stmt = con.prepareStatement("SELECT * FROM admin;");
		
		
		ResultSet rs = stmt.executeQuery();
		
		while (rs.next()) {
			login = rs.getString("login");
			senha = rs.getString("senha");
			
			}
			stmt.close();
			con.close();

6 Respostas

adriano_si

Cara, bom dia (ou tarde)

No seu select, você está chamando todos os cadastros da tabela Admin…

Quando você percorre o ResultSet, a cada nova iteração, você seta novamente os campos login e senha… isso fará com que os mesmos fiquem sempre com o último valor.

Tem várias coisas que você deve mudar aí pra começar, como é um Processo meio longo, vou dar a primeira dica e conforme você for fazendo, eu e os outros colegas vão complementando suas ações. Beleza ???

Então vamos lá…

1º - Mude seu select para receber 2 parâmetros de login e senha que serão passados e retornará um resultado único;

Qualquer dúvida, use isso aqui: http://www.guj.com.br/java/40126-exemplo-de-preparedstatement ou http://www.guj.com.br/articles/115

Abs []

C

a força de vontade vai me fazer aprender rsrsrs…Vamos lá

no lugar de : PreparedStatement stmt = con.prepareStatement("SELECT * FROM admin;");

substitui para PreparedStatement stmt = con.prepareStatement("select login, senha from admin;");

aguardo…

C

ainda no aguardo :smiley:

pmlm

http://www.w3schools.com/sql/sql_where.asp

lucasportela

Isso é um problema de SQL, não java.

SELECT a.senha 
  FROM admin a
WHERE a.login = ?
ViniGodoy

Dúvida movida para o fórum de persistência. Por favor, leia com atenção a descrição dos fóruns antes de postar.

Criado 1 de setembro de 2011
Ultima resposta 6 de set. de 2011
Respostas 6
Participantes 5