Resultset não reconhece a coluna

10 respostas
S

estou tentando fazer a soma da coluna de uma table e joga no textfield.
acontece o erro:

org.postgresql.util.PSQLException: A nome da coluna valortotal não foi encontrado neste ResultSet.
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.findColumn(AbstractJdbc2ResultSet.java:2502)
        at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getDouble(AbstractJdbc2ResultSet.java:2381)
veja meu codigo:
public List ValorTotal(String parametro, String parametro2) {

    List<Orcamento> list_orcamento = new ArrayList<Orcamento>();
    try {
    ItensOrcamento itens = new ItensOrcamento();
    Connection conn = Conexao.getConnection();

    String sql = null;
        sql = "select sum(valortotal)from itens_orcamento as valortotal where placaveiculo=? and data=? ";



    PreparedStatement pst = conn.prepareStatement(sql);
    
    pst.setString(1, parametro);
    pst.setString(2, parametro2);
    ResultSet rs = pst.executeQuery();



    while (rs.next()) {
    Orcamento orcamento = new Orcamento();

    itens.setValorTotal(rs.getDouble("valortotal"));

    orcamento.setItensorcamento(itens);


    list_orcamento.add(orcamento);
    }


    pst.close();
    rs.close();



    } catch (Exception e) {

    e.printStackTrace();
    JOptionPane.showMessageDialog(null, e.getMessage());

    }

    return list_orcamento;
    }

10 Respostas

V
sql = "select sum(valortotal)from itens_orcamento as valortotal where placaveiculo=? and data=? ";

o seu alias está no lugar errado, desta forma, vc está dando alias na tabela e não na sua soma.
A forma correta seria:

sql = "select sum(valortotal) as valortotal from itens_orcamento where placaveiculo=? and data=? ";
S

blz... akele erro da coluna sumiu.. mais agora eh outro erro
ERRO DE NULLPOINTEREXCEPTION

fachada.setDomainObject(orca);
        List<Orcamento> listorc = fachada.ValorTotal(tfconsult1.getText(), tfconsult2.getText());



        for (Orcamento oco : listorc) {
//AKI FIK NULLPOINTER EXCEPTION
  tftotalprodutos.setText(Double.toString(orca.getValorOrcamento()));


        } }catch (Exception e) {
        e.printStackTrace();
        JOptionPane.showMessageDialog(null, e.getMessage());  }
T

Sua variável tftotalprodutos é nula!

S

como assim?
ela eh um textfield que esta setando o valor do orcamento

T

Olhando com mais atenção, percebi que você pode ter mais de um objeto nulo, depura o teu programa para descobrir o que está nulo, se é o textfield, ou o objeto orca ou o método getValorOrcamento

S

msm sendo textfield?

T

Mesmo! Um textfield, um JFrame ou qualquer objeto que seja, pode ser nulo!

S

o problema eh aki msm

tftotalprodutos.setText(Double.toString(orca.getValorOrcamento()));

meu resultset ta certinho

ta dando pau na hora de setar…
o q posso fazer?

L

Testa um desses modos pra ver se melhora

public float mostrarTotal(){  
      return (float)( ( getQuantidadeLitros() * getValorCombustivel() ) - getDesconto() );  
}  

jTexto.setText( Double.toString(carro.mostrarTotal() ));

ou

String S = Double.toString(valorS);
if (S == null)
  val = getParameter("1000");
  jTexto.setText(S);
else
  jTexto.setText(S);
P

esse erro geralmente ocorre por causa de erros de sintaxe, geralmente no nome da tabela.

Criado 9 de dezembro de 2009
Ultima resposta 6 de out. de 2011
Respostas 10
Participantes 5