Boa madrugada a todos! Estou aqui para tirar um dúvida a respeito de uma pesquisa e um banco de dados, e jogar esses dados pesquisados em um JTextField para visualização do usuário, li já muitos tópicos sobre ResultSet(); ,não entendi nada rsrs.
A primeira imagem vi mostrar onde quero colocar a minha pesquisa do banco de dados, e oque quero fazer com ele:

Oque eu já fiz, foi salvar qualquer número que você digite no campo de “Telefone:” no banco de dados:
[code]public void incluir() throws SQLException { //inclui número de telefone digitado no JTF no banco de dados
Connection cn = Conexao.getConnection(); //Conexao é o nome da classe em que faço a conexão com o servidor
Statement sn = cn.createStatement();
String q = "";
q += "insert into table_1(telefone_1)";
q += "values ('" +jtf.getText()+"')";
sn.executeUpdate(q);
JOptionPane.showMessageDialog(null, "Telefone Cadastrado!");
jl3.setText("Cadastrado!");
}[/code]
Bom aqui vocês podem ver o método adotado na conexão com o banco de dados e o envio de um texto para ele. Bom estava lendo sobre PreparedStatements, li que ela serve para fazer uma busca em um banco de dados sem ter que ficar reescrevendo funções como SELECT, INSERT. Ele geralmente faz a pesquisa em todos as linhas (rows):
SELECT * FROM table_1 WHERE = ?
E esse ponto de interrogação significa que isso vai fazer uma varredura em todos os valores e em todas as colunas da tabela x e não pesquisar só um valor, e ter que reescrever a função para achar outro valor, estou certo?
Agora eu queria saber como pesquisar dados no meu banco de dados, e inseri-los num JTextField?
Grato.
SELECT * FROM table_1 WHERE = ?
E esse ponto de interrogação significa que isso vai fazer uma varredura em todos os valores e em todas as colunas da tabela x e não pesquisar só um valor, e ter que reescrever a função para achar outro valor, estou certo?
Se vc quiser listar todos os dados de uma tabela faça apenas SELECT * FROM table_1. A clausula WHERE só é utilizada para filtrar algo na consulta.
Bom dia,
srsrsr
segue exemplo de utilização do ResultSet
String sql = "SELECT * FROM TB_PESSOA WHERE N_NUM_CPF = ? AND N_DIG_CPF = ?";
PreparedStatement pstm = connection.prepareStatement(sql);
pstm.setString(1, pessoaVO.getNumeroCpf());
pstm.setString(2, pessoaVO.getDigitoCpf());
ResultSet rs = pstm.executeQuery();
Pessoa pessoa =null;
if(rs.next()){
pessoa = new Pessoa();
pessoa.setNomeCompleto(rs.getString("S_NOME_COMPLETO"));
pessoa.setDtNasc(parseDateToString(rs.getDate("D_DT_NASC")));
pessoa.setNumeroCpf(rs.getString("N_NUM_CPF"));
pessoa.setDigitoCpf(rs.getString("N_DIG_CPF"));
}
rs.close();
pstm.close();
return pessoa;
as “?” serve pra setar valor no lugar delas usando os metodos do PreparedStatement
se vc olhar com atenção o exemplo que coloquei vc vai ver estou usando o metodo setString para substituir a “?” pelo valor da string do cpf e digito.
o PreparedStatement tem outros metodos com setLong, setInteger, setDate, etc…
esses método recebe dois parâmetros o primeiro é a posição da “?” e o segundo é o valor que sera setado.
o resultSet trabalha de forma parecida para recupera os valores que vem do banco de dados
e vc pode trabalhar de duas formas para recuperar os valores usando
rs.getString("S_NOME_COMPLETO") ;// passando uma String que representa o nome da coluna
//ou
rs.getString(1);// posição do valor no Select --> não aconselho usar se seu sql for do tipo "select * from" não tem como saber a ordem que a informação virá no select
esse exemplo no resultset so vai retorna um valor por causa dos parametros que estou usando no where para a busca. para uma lista vc deve fazer assim
String sql = "SELECT * FROM TB_PESSOA";
PreparedStatement pstm = connection.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
List<Pessoa> pessoas = new ArrayList<Pessoa>();
while(rs.next()){
Pessoa pessoa = new Pessoa();
pessoa.setNomeCompleto(rs.getString("S_NOME_COMPLETO"));
pessoa.setDtNasc(parseDateToString(rs.getDate("D_DT_NASC")));
pessoa.setNumeroCpf(rs.getString("N_NUM_CPF"));
pessoa.setDigitoCpf(rs.getString("N_DIG_CPF"));
pessoas.add(pessoa);
}
rs.close();
pstm.close();
return pessoas;
espero ter ajudado
a API do jdbc não é muito complexa aconselho vc estuda-la
boa sorte
Rsrsrs, muito obrigado, esclareceu muita coisa, sabe de alguma documentação em português da API do jdbc? Se souber passa? ;p
Agora que cheguei da escola morto vou é dormir, a noite toda acordado lendo sobre jdbc 
E a propósito até conseguir fazer o banco de dados retornar uma string só! Vou postar o código de como fiz aqui 
[code]public void mostrar() throws SQLException {
Connection cn = Conexao.getConnection();
Statement stm = cn.createStatement();
String SQL = "SELECT * FROM table_1 WHERE telefone_1;";
ResultSet rs = stm.executeQuery(SQL);
jl4.setText(Conexao.status);
while(rs.next()) {
String telefone = rs.getString("telefone_1");
jtf2.setText(telefone);
}
}[/code]
Se o código estiver “sujo” me avise :s