"SELECT Cod,Nome, Endereco, Telefone, "
+ "Telefone_2, Telefone_3,Email, to_char(Data_nascimento,'dd/MM/yyyy'), Formacao,"
+ " funcao,Exp_1, Exp_2, Exp_3, Cursos, Trab_Weld,Situacao_Contrat, "
+ "to_char(Data_Entrevista,'dd/MM/yyyy'), Salario, Obser FROM Curriculo order by nome"
JFRAME
if (pesquisar.isPopupVisible()){
Curriculum carregando;//essa classe contem os MODELOS
ArrayList<Curriculum> resultado;//GUARDANDO DENTRO DE UM ARRAY
int i;
String nome1 = "",novo = "";
ControleCurriculum controle = new ControleCurriculum(); //INSTANCIANDO A CLASSE CONTROLE
resultado = controle.buscarCurriculum(nome1);
i = pesquisar.getSelectedIndex();
carregando = resultado.get(i);
String trabalhou;
novo = novo+carregando.getCod();
codigo.setText(novo);
end.setText(carregando.getEnd());
Curriculum carregando;
ArrayList<Curriculum> resultado;
int i;
String nome1 = "",novo = "";
ControleCurriculum controle = new ControleCurriculum();
resultado = controle.buscarCurriculum(nome1);
i = pesquisar.getSelectedIndex();
carregando = resultado.get(i);
String trabalhou;
novo = novo+carregando.getCod();
codigo.setText(novo);
end.setText(carregando.getEnd());[/code]
Observe que você criou uma variavel nome1 recebendo o valor vazio. Depois você utilizou a chamada do método buscarCurriculum(nome1). Ou seja, você está buscando um currículo de uma pessoa que não existe (vazio).
Quando você executa o resultado.get(i) provavelmente está retornando nada. Justamente pelo motivo que citei acima.
deixa eu colocar a classe controle ai sim da pra intender…
rsrs
CONTROLE:
public ArrayList<Curriculum> buscarCurriculum(String nome) {
Curriculum curriculum;
ArrayList<Curriculum> resultado;
int i;
CurriculumDao dao = new CurriculumDao();
i = nome.length();
if (i==0) {
resultado = dao.buscarTodos();//como ele ta vindo vazio sempre ele vai buscar todos nhe? lá do dao...
}
else {
resultado = dao.buscar(nome);//
}
return resultado;
}
Eu seleciono toda a tabela e depois vou usando as linhas que o combobox selecione…
[quote=wilkem]uma coisa simples seria vc colocar uma string dentro do jcombobox o cod junto.
Dai ficaria o nome e o código no combo.
[/quote]
Oi,
Exatamente. O problema dele é exatamente essa falta do código, que pode ou não ficar visível no JCombo. Podes apresentar apenas o nome e o código fica interno no programa (se for o caso).
Então. Na verdade é simples. Quando você executar o método dao.buscarTodos() irá trazer todas as linhas na base de dados. Evidentemente, se você tiver duas LINA cadastrada (o que é muito dificil existir 2 nome desse no mundo), o seu ArrayList conterá 2 add LINA. Justamente porque o ArrayList não elimina os indices duplicados (o que é correto).
A única forma de diferencia-las, seria a utilização do código da pessoa (SELECT Cod, Nome). Então, logicamente, você deve popular o seu JCombo com COD - NOME.
Após o retorno Array de buscarCurriculum(String), você deverá percorre-lo e compara-lo com o getSelectedIndex do seu JCombo.
if (pesquisar.getSelectedItem().toString().equals(ls_juntando)) {
nome.setText(carregando.getNome());//da erro aqui pq carregando não foi iniciado; antes era: i = pesquisar.getSelectedIndex();
carregando = resultado.get(i);
end.setText(carregando.getEnd());
// encontrei a pessoa certa.
if (pesquisar.getSelectedItem().toString().equals(ls_juntando)) {
nome.setText(resultado.get(i).getNome()); // ou então nome.setText(ls_nome); —> vai dar o mesmo resultado.
carregando = resultado.get(i);
end.setText(carregando.getEnd());
// encontrei a pessoa certa.
if (pesquisar.getSelectedItem().toString().equals(ls_juntando)) {
carregando = resultado.get(i);
nome.setText(carregando.getNome()); // ou então nome.setText(ls_nome); —> vai dar o mesmo resultado.
end.setText(carregando.getEnd());
// encontrei a pessoa certa.
ele não ta carregando nada nos campos, olha o que ele deve fazer é ao selecionar o item do JCOMBOBOX que é o NOME ele carregar todas as informações referentes no demais componentes como: endereço, telefone…
[quote=Oesly]ele não ta carregando nada nos campos, olha o que ele deve fazer é ao selecionar o item do JCOMBOBOX que é o NOME ele carregar todas as informações referentes no demais componentes como: endereço, telefone…
não da erro mas não ta preenchendo nada…[/quote]
Oi,
Coloca System.out.println e verifica o que está acontecendo!
[code]Curriculum carregando;// ele pede para iniciar a variavel
ArrayList resultado;
System.out.println(“1”);
String nome1 = “”;
ControleCurriculum controle = new ControleCurriculum();
System.out.println(“2”);
resultado = controle.buscarCurriculum(nome1);
System.out.println("3 "+resultado.size());
for (int i = 0; i < resultado.size(); i++) {
System.out.println(“4”);
int
ln_cod = resultado.get(i).getCod();
System.out.println("4.1: "+ln_cod);
String
ls_nome = resultado.get(i).getNome();
System.out.println(“4.2: “+ls_nome);
String
ls_juntando = String.valueOf(ln_cod)+”-”+ls_nome;
System.out.println("4.3: "+ls_juntando);
System.out.println("4.4: "+pesquisar.getSelectedItem().toString());
if (pesquisar.getSelectedItem().toString().equals(ls_juntando)) {
carregando = resultado.get(i);
nome.setText(carregando.getNome()); // ou então nome.setText(ls_nome); —> vai dar o mesmo resultado.
end.setText(carregando.getEnd());
// encontrei a pessoa certa.