Problema na conexão do PreparedStatement

4 respostas
B

Lendo vários dos fóruns que tem aqui sobre esse assunto eu conseguir fazer o login do usuário no sistema, usando o Prepared Statement. O problema é que o meu professor me pediu para fazer algumas mudanças no banco de dados, mas não foi nada que afetasse a tabela relacionada ao login, mas mesmo assim ele parou de funcionar. Ao debugar, vejo que o problema para na linha que está destaca em negrito abaixo.

public Usuario logar(Usuario user) {

		
		String sql = new String();
		ResultSet rs = null;
		sql = "SELECT * FROM usuario where login=? and senha=?";
		try {
			PreparedStatement statement = bdMySql.getPreparedStatement(sql);
			[b]statement.setString(1, user.getLogin());[/b]
			statement.setString(2, user.getSenha());
			rs = bdMySql.executarBuscaSQLPreparedStatement(statement, sql);
		} catch (SQLException e1) {
			e1.printStackTrace();
		}
		...

Quando eu entro no getPreparedStatement ele está retornando nulo.

public PreparedStatement getPreparedStatement(String sql) throws SQLException{
		
		try {
			return con.prepareStatement(sql);
		} catch (Exception e) {
		
			return null;
		}
		
		
		
	}

Vocês sabem o que pode estar acontecendo? Desde já agradeço.

4 Respostas

A

Nesse seu método getPreparedStatement, troque o return null por e.printStackTrace(). Daí execute novamente. Se não ficar claro pra você poste o resultado que com certeza encontraremos o que é.

B

Aparece o erro Cannot return a void result :confused:

rhawan

biabsantana, neste método getPreparedStatement você não está passando os parametros, quando é executado o comando:

É retornado nulo porque não foi passado os parâmetros.

B

Voltei para a base de dados antiga e fiz algumas modificações por lá e tá funcionando tudo novamente. Mas obrigada gente.

Criado 25 de abril de 2013
Ultima resposta 5 de mai. de 2013
Respostas 4
Participantes 3