Alterar e excluir do Banco de dados

4 respostas
wagne23

To com o segunte problema, criei um programa de cadastros de funcionarios ficticios, onde coloco nome cpf e etc do funcionario, depois mando tudo para um banco mysql e tenho uma JList que me mostra o nome do funcionario que eu salvei, ate ai tudo bem, o problema é que era pra quando eu selecionar o nome na JList ele deveria me mostrar todas as infos do funcionario nos mesmos JTextField em que eu usei para cadastrar para poder alterar ou excluir mas ta complicado. Eu ja fiz o seguinte:

private JList empregados;

empregadosRenderer = new DefaultListCellRenderer(); empregadosModel = new DefaultListModel(); empregados = new JList(empregadosModel); empregados.setCellRenderer(empregadosRenderer);

class ListHandler extends MouseAdapter{ public void mouseCliked(MouseEvent me){ int index = empregados.locationToIndex(me.getPoint()); Object obj = empregadosModel.get(index); if(obj instanceof Empregado){ Empregado emp = (Empregado)obj; exibeEmpregado(emp); habilitaCampos(); incluir.setEnabled(false); alterar.setEnabled(true); excluir.setEnabled(true); salvar.setEnabled(false); cancelar.setEnabled(true); }else{ desabilitaCampos(); incluir.setEnabled(true); alterar.setEnabled(false); excluir.setEnabled(false); salvar.setEnabled(false); cancelar.setEnabled(false); } } }

e esta e a classe exibeEmpregado

private void exibeEmpregado(Empregado empregado){ SimpleDateFormat formater = new SimpleDateFormat("dd/MM/yyyy"); if (empregado != null){ txtCPF.setText(empregado.getCpf()); txtMatricula.setText(empregado.getMatricula()); txtNome.setText(empregado.getNome()); txtNascimento.setText(formater.format(empregado.getNascimento())); txtEndereco.setText(empregado.getEndereco()); txtComplemento.setText(empregado.getComplemento()); txtCep.setText(empregado.getCep()); txtBairro.setText(empregado.getBairro()); txtCidade.setText(empregado.getCidade()); txtSalario.setText(new Double (empregado.getSalario()).toString()); departamentos.getModel().setSelectedItem(empregado.getDepartamento()); estados.getModel().setSelectedItem(empregado.getEstado()); } }

sera que alguem pode me dar um help ???

4 Respostas

Pilantra

Eu tenho um esquema que eu mesmo elaborei para esse tipo de situação hehe. Como eu sempre trabalho com Web, um exemplo seria usando o combobox. No combo eu posso jogar um value e o rótulo que irá aparecer. Eu poderia armazenar no value, o ID do usuario e no rótulo o nome, e usar o Ajax para fazer as pesquisas conforme eu quiser. No Java eu não achei nada parecido nos controles JComboBox e outros. A idéia seria, usar o ArrayList. No laço que você for fazer para preencher o JList, vá adicionando o ID do usuário. Depois, você pega o index que está selecionado e da um get no ArrayList usando esse index.

Não sei se fui bem claro. Qualquer coisa posta ae.

Flw!!

wagne23

Não sei se eu entendi bem, tambem trabalho com web mas costumo usar PHP e não tenho problema com esse tipo situação, mas com java não consigo fazer a mesma coisa. Cara ta complicado por que eu ja to tentando pegar a referencia da JList com o getPoint mas não ta funcionando. Mas valeu a ajuda!!!

Pilantra

Então cara, eu vou tentar escrever um exemplo bem rapido aqui, talvez você entenda. Eu não conheço muito a JList então se tiver alguma coisa errada você corrige depois heeh:

List<Integer> ids = new ArrayList<Integer>();

Statement stm = conexao.conn.createStatement();
ResultSet rs = stm.executeQuery("SELECT * FROM funcionarios");
while(rs.next()) {
     jlist.add(rs.getString("nome");
     ids.add(rs.getInt("id");
}

Depois para recuperar isso:

int selecionado = jlist.getSelectedIndex();
int idfuncionario = ids.get(selecionado);

Bom, com o JComboBox funciona certinho, agora com o JList deve ser semelhante ou igual a isso.

Flw!

wagne23

Falou, eu vou tentar isso, qualquer duvida eu volto a postar ! Obriagado.

Criado 16 de outubro de 2007
Ultima resposta 16 de out. de 2007
Respostas 4
Participantes 2