Dúvida com Array List - pesquisando por nome e por matricula Mysql [RESOLVIDO]

4 respostas
M

Pessoal, Boa Tarde,
eu sou iniciante em java, ainda em curso, estou tentando colocar em prática os ensinamentos no curso para poder pegar experiencia, visto que nao tenho nenhuma na area de programação, eu estou tentando desenvolver um sistema de controle de matricula, no momento eu estou tentando fazer uma pesquisa no banco de dados, porem quero que o usuario insira a matricula no campo, clique em pesquisar, e volte para ele uma lista com contatos com esta matricula, e tambem fazer a pesquisa por nome, aqui esta o codigo que aprendi no curso, porem nao consigo adaptar pra minha necessaidade, visto que no codigo aprendido no curso, esta select * from contato, eu gostaria de algo assim, select * from contato where nome = … agradeço desde ja a atenção de todos.

segue o codigo:

public List lista() {

try {

List contatos = new ArrayList();

PreparedStatement stmt = this.connection.prepareStatement(select * from contato);
ResultSet rs = stmt.executeQuery();

		while(rs.next()) {
			//adiciona a tarefa na lista
			contatos.add(populaContato(rs));
		}

		rs.close();
		stmt.close();

		return contatos;
	} catch (SQLException e) {
		throw new RuntimeException(e);
	}
}

private Contato populaContato(ResultSet rs) throws SQLException {
Contato contato = new Contato();

//popula o objeto tarefa
	contato.setMatricula(rs.getLong("matricula"));
	contato.setNome(rs.getString("nome"));
	contato.setSobrenome(rs.getString("sobrenome"));
	contato.setNumerocpf(rs.getLong("numerocpf"));
	contato.setNumerorg(rs.getLong("numerorg"));
	contato.setNumerotelefone(rs.getString("numerotelefone"));
	contato.setNumerocelular(rs.getString("numerocelular"));
	//contato.setDddt(rs.getInt("dddt"));
	//contato.setDddc(rs.getInt("dddc"));
	contato.setEmail(rs.getString("email"));
	return contato;

4 Respostas

shuremaster

Caro amigo mouzer, aqui vai uma dica sobre formatação : Use a tag CODE para postar um código java, assim fica mais fácil de nossos colaboradores entenderem o código. Obrigado.

dcorteztec

o que você queria é + ou - assim

alguma coisa assim qualquer coisa é só falar

public List<Contato> lista (int matricula) { 
try { 
List<Contato> contatos = new ArrayList<Contato>(); 
PreparedStatement stmt = this.connection.prepareStatement("select * from contato where matricula=?"); 
stmt.setInt(1, matricula)

ResultSet rs = stmt.executeQuery(); 

while(rs.next()) { 
//adiciona a tarefa na lista 
contatos.add(populaContato(rs)); 
} 

rs.close(); 
stmt.close(); 

return contatos; 
} catch (SQLException e) { 
throw new RuntimeException(e); 
} 
} 



private Contato populaContato(ResultSet rs) throws SQLException { 
Contato contato = new Contato(); 

//popula o objeto tarefa 
contato.setMatricula(rs.getLong("matricula")); 
contato.setNome(rs.getString("nome")); 
contato.setSobrenome(rs.getString("sobrenome")); 
contato.setNumerocpf(rs.getLong("numerocpf")); 
contato.setNumerorg(rs.getLong("numerorg")); 
contato.setNumerotelefone(rs.getString("numerotelefone")); 
contato.setNumerocelular(rs.getString("numerocelular")); 
//contato.setDddt(rs.getInt("dddt")); 
//contato.setDddc(rs.getInt("dddc")); 
contato.setEmail(rs.getString("email")); 
return contato;
shuremaster

Muito obrigado, não leve a mal assim será melhor para debugar o que você criou. Grato.

M

Obrigado ao shuremaster pela dica, como disse sou novo no forum e na area de programação, e nao sabia deste código, e obrigado ao dcorteztec pela ajuda, funcionou aqui, agora acho que para meu sistema de cobranca de mensalidade funcionar, so me resta tirar uma ultima dúvida, estou pesquisando, tentando, mas nao estou conseguindo uma solução, como eu faria para linkar 2 tabelas? exemplo, teria a tabela contato e a tabela mensalidade, quando eu pagar uma mensalidade eu irei colocar a matricula, e ira aparecer o nome do contato, ai eu digitaria o valor, e a data do pagamento, iria gravar no banco, porem quando eu quiser fazer uma pesquisa eu gostaria de saber quais contatos ainda nao pagaram a mensalidade, ou entao saber se um contato pagou a mensalidade, ai teria que estar linkando e buscando nas 2 tabelas, se puderem me ajudar serei muito grato pela ajuda.
SDS

Criado 8 de junho de 2010
Ultima resposta 8 de jun. de 2010
Respostas 4
Participantes 3