Tipos de Dados incompativeis na expressao de criterio

Tenho uma classe de pagamento de Divida, que recebe os clientes, e as dividas cadastradas dos clientes. Em um comboBox escolho o cliente, e altomaticamente em um outro combo box é listado todos os codigos de suas dividas, ate ai corria tudo bem. Quando adicionei um textField para quando eu selecionar o codigo da divida, o valor dessa divida aparecer nele, apresentou a SQLException : Tipos de Dados incompativeis na expressao de criterio. O erro aparece quando executo a classe, e volta a aparecer quando seleciono um novo codigo de divida.

Codigo que lista os codigos de divida:

[code]public void setCodDivida(){

    cb_codDividaCliente.removeAllItems();
    conDivida.execuçaoSQL("select * from divida where cliente='"+this.cb_cliente.getSelectedItem()+"'");
    try {
        while (conDivida.resultset.next()) {
            cb_codDividaCliente.addItem(conDivida.resultset.getString("codigo"));
        }
    } catch (SQLException erro) {

        JOptionPane.showMessageDialog(null,"Erro");

    }[/code]

Codigo que mostra o valor da divida:

[code]public void setDivida(){

   conDivida.execuçaoSQL("select * from divida where codigo ='"+this.cb_codDividaCliente.getSelectedItem()+"'");
    
    try{
    tf_dividaCliente.setText(conDivida.resultset.getString("valorDivida"));
    }
    catch(SQLException erro){

        JOptionPane.showMessageDialog(null,"Erro");

    }
}[/code]

Então kara… o que deve estar acontecendo é o seguinte.

Esse getString do conDivida.resultset.getString(“valorDivida”) deve ser o problema.

Provavelmente o seu campo valorDivida não é no banco do tipo varchar, portanto não poderá ser obtido com um getString.
Verifica o tipo do campo valorDivida, e define o get de acordo com este.

E após isso, você chama um toString para o seu tf_dividaCliente.setText.

Por exemplo, vamos supor que o campo “valorDivida” seja no banco do tipo decimal ou float.

Faça assim:

Float valor = conDivida.resultset.getFloat("valorDivida");
tf_dividaCliente.setText(valor.toString());

Falows.

Cara tenta modificar assim no recebimento e atribuiççao ao Combo.
Obs: Como trata-se de valores monetários é sempre bom usar o tipo Double, deixando o tipo float mais pra cálculos
extremamente precisos.

//Recebendo o valor
Double valor = conDivida.resultset.getDouble(“valorDivida”);

//Repassando o valor
tf_dividaCliente.setText(String.valueOf(valor));

Cara, vc pode tbm listar isso numa JTable e selecionar diretamente na table o item q vc quer tratar.
Qualquer coisa coloca um post Aqui!

Fiz o que disseram, mas continuou o msm erro. E tambem o primeiro valor é sempre listado, exemplo: A divida cod:1, e o valor da Divida:1000. Percebi que a Exception vem da classe de conexão, na execuçãoSQL.

A messagem de erro vem daqui try Catch:

[code]public void execuçaoSQL( String sql){

  boolean result = true;
    try{
        statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
        resultset = statement.executeQuery(sql);
    }
    catch(SQLException sqlex){
        JOptionPane.showMessageDialog(null,"Não foi Possivel "+
                "Executar o Comando SQL! "+sqlex);

   }
}[/code]

Cara vc ta complicando, vou te passar um trecho pra vc substituir por esse q vc enviou, ai vc me avisa se der certo. BEm simples: não precisa usar o TYPE SCROLL SENSITIVE!

[Code]
public void executeSQL(String sql){

    try{
        statement = con.createStatement();
        resultset = statement.executeQuery(sql);
    }
    catch(SQLException ex){
        JOptionPane.showMessageDialog(null, "Não foi possivel executar o comando "+ex);
    }

}

Cara so coloquei esse codigo ae, pra mostrar de onde vem a exception. num vai imfluenciar em nada mudar ele.

COm toda certeza domundo. Depois dá uma estudadinha na SCROLL SENSITIVE qdo iserido dentro de resultset (faz toda diferença)!