Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package agenda;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- public class Pesquisa {
- public List<Contato> Pesquisa() { //agora poderá ter mais de um retorno.
- // Contato contato = new Contato(); << (linha retirada) aqui você cria um objeto mas o correto é criar um para cada retorno.
- String sql = "SELECT id, nome, email, endereco, dataNascimento FROM contatos WHERE nome LIKE ?"; //O correto é escrever dessa forma, maiúsculo aos comandos sql e usar o ? no lugar da variável.
- try {
- PreparedStatement stmt = this.con.prepareStatement(sql); //não achei onde você fez a conexão, mas pelo que entendi já foi feita fora do código.
- stmt.setString(1, "%" + nome + "%"); //aqui você indica o que vai substituir o ?
- ResultSet rs = stmt.executeQuery();
- List<Contato> lista = new ArrayList<>();
- while (rs.next()) {
- //System.out.println("Ob:" + rs.next()); não pode fazer isso, assim ele vai pular um resultado a cada passagem.
- Contato contato = new Contato(); //como esse resultado pode haver mais de um Contato, você deve cria-lo dentro do while.
- contato.setNome(rs.getString("nome"));
- contato.setEmail(rs.getString("email"));
- contato.setEndereco(rs.getString("endereco"));
- Calendar c = Calendar.getInstance();
- c.setTime(rs.getDate("dataNascimento"));
- contato.setDataNascimento(c);
- lista.add(contato); //Aqui vamos inclui-lo em uma lista, para que possamos ler todos os retornos e não só o ultimo.
- }
- stmt.close();
- return lista; //aqui vai retornar a lista de Contatos que deverá ser trabalhada, de uma pesquisada sobre ArrayList.
- } catch (SQLException s) {
- s.getStackTrace();
- } finally {
- //utilize aqui para fechar a conexão.
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement