Como comparar um jtextfield com banco de dados

1 resposta
Pedro_Salles

boa tarde pessoal

e o seguinte, tenho uma tela de logim com nome e senha tambem tem um botao de ok e cancelar.... o que eu quero fazer é... quando a pessoa digitar seu nome e senha comparasse com o que ta salvo no banco de dados...

aqui é onde eu crio o bota ok...
private JButton getOkButton() {
		if (okButton == null) {
			okButton = new JButton("OK");
			okButton.addActionListener(new ActionListener(){

				@Override
				public void actionPerformed(ActionEvent arg0) {
					nome = getUsuarioTextField().getText();
					senha = new String (getSenhaJPasswordField().getPassword());
					
				}
			
			});
		}
		return okButton;
	}
em outra classe eu crio a conexao com o banco de dados
public ArrayList<Usuario> listar() throws SQLException {
		String url = "jdbc:mysql://localhost:3306/controle";
		String user = "root";
		String password = "1234";

		ArrayList<Usuario> usuarios = new ArrayList<Usuario>();

		Connection connection = DriverManager
				.getConnection(url, user, password);
		PreparedStatement preparedStatement = connection
				.prepareStatement("select * from usuario order by nome");
		ResultSet resultSet = preparedStatement.executeQuery();

		while (resultSet.next()) {
			Usuario usuario = new Usuario();
			usuario.setId(resultSet.getInt("idusuario"));
			usuario.setNome(resultSet.getString("nome"));
			usuario.setSenha(resultSet.getString("senha"));

			usuarios.add(usuario);
		}
		connection.close();
		preparedStatement.close();
		resultSet.close();

		return usuarios;
	}

eu nao to conseguindo comparar o que a pessoa digitou com o que ta salvo no banco de dados ....

se alguem puder me ajudar eu agradeço... sou iniciante em java

vlw

1 Resposta

Stoma

Olá! Não sou expert nisso, mas estou fazendo um projeto que faz isto, então talvez possa te ajudar! Aqui vai a parte em que é comparado com o bd:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String bd = "jdbc:odbc:DBQ=G:/bd.mdb;Driver={Microsoft Access Driver (*.mdb)}";
Connection con = DriverManager.getConnection (bd);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from Tabela1 where jTextNome LIKE '%"+jTextNome2.getText()+"%' ");
while (rs.next()){
System.out.println(rs.getString("jTextNomePai"));
}

Onde Tabela1 é o nome da tabela em que estão as informações no banco de dados, jTextNome é o campo da tabela que vai ser comparado e jTextNome2.getText() é o nome do text field no programa em java. Dentro do while, só é imprimido o valor do campo “jTextNomePai” (com aspas no comando mesmo) da linha onde foi encontrado o valor procurado no select.
Acho que deve resolver seu problema.

Abraços,
Stoma

Criado 23 de novembro de 2008
Ultima resposta 23 de nov. de 2008
Respostas 1
Participantes 2