[quote=psicoppardo]lá vai metodo getComprasUpdate
private Compra getComprasUpdate() {
int row = ComprasGUI.tabelaCompras.getSelectedRow();
Compra dtm = ComprasGUI.dtm.getLinha(row);
compra.setIdCompra(dtm.getIdCompra());
compra.setRelCliente(dtm.getRelCliente());
compra.setDescricao(tfDescricao.getText().toUpperCase());
compra.setQuant(Integer.valueOf( tfQuant.getText()));
compra.setValor(Double.valueOf(tfValor.getText()));
compra.setDate(tfData.getCalendar());
return compra;
}
erico_Kl
linha 138 do CompraDao.java stmt.setDate(4, new Date(compra.getDate().getTimeInMillis()));
[/quote]
Cara… dentro desse método você tá setando atributos de um objeto compra e tá retornando ele. A questão é… onde tá a instanciação desse objeto ?? Se está fora do método, o que te garante que ele foi criado em memória e está pronto pra você usar ? Dá uma revisada nisso, colega!!
Bem provavelmente se vc fizesse isso:
logo depois dessa linha
acredito que já funcionaria…
Bom galera, vocês não vão acreditar na minha “falta de atenção”. Descobri o defeito:
public List<Compra> listarTodos(int id)throws SQLException{
Connection conn = new ConexionFactory().getConn();
Statement statement = null;
List<Compra> lista = new ArrayList<Compra>();
String sql = LISTAR_COMPRAS+id+"";
try {
statement = conn.createStatement();
ResultSet rs = statement.executeQuery(sql);
while(rs.next()){
Compra compra = new Compra();
[color=red][b] compra.setIdCompra(rs.getLong("id_compra")); //Eu simplesmente esqueci de incluir essa linha no CompraDao.java[/b][/color]
compra.setRelCliente(rs.getLong("rel_cliente"));
compra.setDescricao(rs.getString("descricao"));
compra.setQuant(rs.getInt("quant"));
compra.setValor(rs.getDouble("valor"));
Calendar data = Calendar.getInstance();
data.setTime(rs.getDate("date"));
compra.setDate(data);
lista.add(compra);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
conn.close();
statement.close();
}
É de Matar, eu já tava para apagar e começar tudo de novo. SACANAGEM!!!
Galera o erro estava realmente no DAO, mais precisamente no metodo listarTodos
Eu simplesmente não digitei uma linha:
[color=red]compra.setIdCompra(rs.getLong(“id_compra”));[/color]
Eu quase tenho um treco quando vi, em passar que passei mais de três dias nessa indaga.
Obrigado a todos pelas contribuições.