org.postgresql.util.PSQLException: [color=red]A nome da coluna cliente_id não foi encontrado neste ResultSet.[/color]
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.findColumn(AbstractJdbc2ResultSet.java:2502)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getInt(AbstractJdbc2ResultSet.java:2366)
Bom agora eu consigo salvar e excluir do banco tranquilo.
Meu problema está sendo em exibir minha consulta.
aqui esta dando um nullpointer
[code] public void consultar(){ //esse método eu uso para chamer a consulta
Box box = new Box();
Cliente cliente = new Cliente();
int ex = Integer.parseInt(JOptionPane.showInputDialog("Digite o número do box do cliente que voçe deseja Consultar"));
box.setId(ex);
JDBCConsultar consulta = new JDBCConsultar();
Box b = consulta.consultar(box); // aqui eu passo a id para ser consultada
JOptionPane.showMessageDialog(null, "O box "+ b.getNumero() +" a consulta foi realizada com sucesso");
JOptionPane.showMessageDialog(null, "O box "+ b.getCliente().getNome() + b.getCliente().getEndereco().getRua() + " a consulta foi realizada com sucesso");[/code]
Aqui eu insiro a ID que eu quero consultar, e depois imprimo o valor;
[code] public void consultar(){
Box box = new Box();
Box box1 = new Box();
//Cliente cliente = new Cliente();
int ex = Integer.parseInt(JOptionPane.showInputDialog("Digite o número do box do cliente que voçe deseja Consultar"));
box.setId(ex);
JDBCConsultar consulta = new JDBCConsultar();
consulta.consultar(box);
System.out.print(box1.getId() + box1.getNumero());
}[/code]
Eu tenho 02 cadastros no banco.
id = 1 / nome = Daiane
id = 2 / nome = João
Quando insiro o ID 1 para consulta o resultado é correto = [color=green]1 Daiane[/color]
Mas quando insito o ID 2 para consulta o resultado é = [color=green]2 Daiane[/color], mas o correto seria - 2 João
Quando insiro o ID 1 para consulta o resultado é correto = 1 Daiane
Mas quando insito o ID 2 para consulta o resultado é = 2 Daiane, mas o correto seria - 2 João
não sei onde pode estar o erro. [/quote]
[code]
public void consultar(){
Box box = new Box();
Box box1 = new Box();
//Cliente cliente = new Cliente();
int ex = Integer.parseInt(JOptionPane.showInputDialog("Digite o número do box do cliente que voçe deseja Consultar"));
box.setId(ex);
JDBCConsultar consulta = new JDBCConsultar();
box1 = consulta.consultar(box);
System.out.print(box1.getId()+" "+ box1.getCliente().getNome());
}[/code]
Sugestão:
Coloque um breakpoint na linha 08 da classe JDBCConsultar e faça um debug analisando os valores nas variáveis a cada passo.
É mais fácil vc descobrir o erro fazendo isto, do que nós aqui apenas olhando para o seu código.
consegui resolver o problema, fiz as sequintes alteraçoes:
public Box consultar(Box box, Cliente cli) {// Adicionei um parametro do tipo Cliente
String sql = "Select * from box,cliente,endereco where id_box = ? and id_cliente = ?";//Adicionei o ID do cliente na minha consulta
PreparedStatement stmt = consultar.prepareStatement(sql);
stmt.setInt(1, box.getId());
stmt.setInt(2, cli.getId());
Não era bem o que eu queria mas funcionou.
Na verdade eu gostaria de passar apenas o ID do box, infelizmente não consegui obter resultado.