Exclusão de dados por arrayList

8 respostas
W

Boa noite …pessoal…estou com uma grande dificuldade…
Lá vai…Preciso excluir um dado.

Dessa forma:

ArrayList a = new ArrayList(1);

a.add(vo);

NegocioLivro.getInstance().deleteLivro(vo);

mas eu não sei como faço para busca o ID e retorno nesta lista
vo.setTitulo(???) já que para Desktop .

Grta Por eqto

8 Respostas

ViniGodoy

Explique melhor sua dúvida. Lembre-se não conhecemos suas classes, não sabemos o que você já tem implementado.

Você vai implementar que método?

W
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
      
        
        LivroVo vo = new LivroVo();
        ///preciso pegar ou id pelo JTable ou algum metodo de busca q retorne esse id
        vo.setId(new Long (???????));

  
        ArrayList<LivroVo> a = new ArrayList<LivroVo>(1);
		a.add(vo);
	NegocioLivro.getInstance().deleteLivro(vo);    

}

/*/*/*/*/*/*/*/*/*/*/*/*/

public void delete(LivroVo obj) {
		String query =  " delete from livro where id_livro = ? ";
		Connection con = null;
		PreparedStatement stm = null;
		try {
			con = DbConn.getInstance().getConnection(Util.POSTGRE);
			if (con == null) {
				return;
			}
			stm = con.prepareStatement(query);
			stm.setLong(1, obj.getId_livro());
			stm.executeQuery();
		} catch (SQLException sqle) {
			sqle.printStackTrace();
		} catch (Exception ex) {
			ex.printStackTrace();
		} finally {
			try {
				if (stm != null)
					stm.close();
				if (con != null)
					con.close();
				con = null;
				stm = null;
			} catch (SQLException sqle) {
				sqle.printStackTrace();
			}
		}
		
		
	}

/*/*/*/*/*/*/*/*/*/*/*

public void deleteLivro(LivroVo vo) {
		DAO<LivroVo> dao = new LivroDao();
		dao.delete(vo);
	}
ViniGodoy

Assim está difícil de ler.

Por favor, leia esse tópico:
http://www.guj.com.br/posts/list/50115.java

Edite o seu post aí em cima e corrija. :wink:

shoko

se você quiser deletar um valor de uma ArrayList utilize o Iterator ou o ListIterator(que possui o método previous) para deletar aquele objeto da list.

mais eu também nao entendi direito sua pergunta …

D

Pelo que entendi a dificuldade dela é para encontrar o id do objeto LivroVO, com esse id ela quer excluir o registro de uma tabela no banco de dados e visualmente de uma JTable.

W

Isso mesmo Davi

ViniGodoy

O primeiro passo é montar corretamente o seu JTable. Qual é o TableModel que sua tabela usa?
É o Default?

Se for, você tem um sério problema.

É possível pegar o id usando o método getSelectedRow() do JTable e o método getValueAt() do tablemodel:

//Para o valor da linha selecionada, na coluna 0 int livroId = seuTableModel.getValueAt(suaTabela.getSelectedRow(), 0);

Mas essa maneira é pouco prática. O ideal é implementar um TableModel próprio, filho de AbstractTableModel. Nesse caso, ao invés do valor, você poderia pegar o seu objeto VO inteiro do model:

LivroVo livro = seuTableModel.get(suaTabela.getSelectedRow());

Para ver como implementa seu próprio TableModel, dê uma lida nesses dois artigos, que são muito bons:
http://www.informit.com/articles/article.aspx?p=332278
http://www.informit.com/articles/article.aspx?p=333472

W

Pessoal consegui retornar essa lista …mas nao consigo passá-la pelo set para o metodo delete

private static void listar(ArrayList<LivroVo> l) { for (LivroVo vo : l) { vo.getId_livro(); } }

private static void listar(LivroVo vo) { ArrayList<LivroVo> l = new ArrayList<LivroVo>(1); l.add(vo); listar(l); }

listar(NegocioLivro.getInstance().findLivro(vo)); vo.setId_livro(como passo o resultado da lista(listar) aqui??????);

Criado 17 de junho de 2008
Ultima resposta 18 de jun. de 2008
Respostas 8
Participantes 4