Erro no LIKE com PreparedStatement

1 resposta
T

Pessoal estou com uma dúvida

tenho o seguinte código para buscar um cliente no meu banco de dados

public Contato getContatoNome(String nomeCli) throws SQLException
	{
		PreparedStatement stmt = (PreparedStatement) this.connection.prepareStatement("select id,nome,email,endereco,bairro,cidade,tel from contatos where nome like ? ");
		//
		String paremetro = nomeCli;
				
		//	o Nome que o cliente digitou
		stmt.setString(1,paremetro+"%");
		ResultSet rs = (ResultSet) stmt.executeQuery();

		Contato c = new Contato();
		while (rs.next())
		{
			c.setId(rs.getInt("id"));
			c.setNome(rs.getString("nome"));
			c.setEmail(rs.getString("email"));
			c.setEndereco(rs.getString("endereco"));
			c.setBairro(rs.getString("bairro"));
			c.setCidade(rs.getString("cidade"));
			c.setTel(rs.getString("tel"));
		}
		rs.close();
		stmt.close();	
		return c;
}

Sendo que o Objetivo era de que quando eu digitasse uma letra por exemplo ‘D’ aparece-se todos os clientes que começam com a letra D, mas ele só me retorna o ultimo Cliente que começa com essa letra, sendo que no console do mysql eu testei essa linha e ele me responde corretamente me devolvendo todos dos nomes que começam com a letra D

MySql

select id,nome,email, endereco, bairro, cidade, tel from contatos nome like 'd%';

1 Resposta

T

Pessoal, consegui resolver usando um ArrayList, o que acontecia era que ele retorna apenas um objeto(o ultimo), coloquei um o array dentro (while rs.next()) e retornei o array para main, Deu certinho!!!

Criado 17 de fevereiro de 2007
Ultima resposta 17 de fev. de 2007
Respostas 1
Participantes 1