Como converter uma variavel double para decimal no banco(Access)!

1 resposta
PauloVitorB

Ola pessoal!

O meu problema eh o seguinte!
Eu tenho uma tela de caixa, onde o valor da venda eh Double, mas ai eu concluo a venda ok,
mas quando eu abro o banco pra ver a venda ele ganha um zero no final ex:
52 -> 520,

try{ //tratamento de erros
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//Driver JDBC ? Fonte de Dados ODBC
        //conecta no BD, as aspas vazias representam o Login: usuário e senha.
        Connection con = DriverManager.getConnection("jdbc:odbc:Banco1","","");
        Statement stmt = con.createStatement();       //objeto comdo sql
        Double cadMat=Double.parseDouble( jTextFieldValorTotal.getText() );      //obtém nome digitado
        int cadSaida=1;
        SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");  
        Date data = new Date(System.currentTimeMillis());  
        String cadData = formatador.format(data);
        Time cadHora = new Time(System.currentTimeMillis());
        stmt.executeUpdate("insert into Caixa (Entrada,Data,Hora,ValorTotal) values ('" 
                + cadSaida + "','"
                + cadData + "','"
                + cadHora + "','"
                + cadMat + "')" );
        JOptionPane.showMessageDialog( this, " Dados Salvos! ");
        con.close();  // fecha conexão com BD
        setVisible(false);
      }  catch( SQLException e){ //trata os erros SQL
            JOptionPane.showMessageDialog(this, "Erro Comando SQL " + e.getMessage() );
            setVisible(false);
            } catch( ClassNotFoundException e){      //trata erros de conexão
             JOptionPane.showMessageDialog( this, " Driver não encontrado " );
}

}

e no banco tah como!
Numero>Decimal>
Casas Decimais>Automatico
Escala>2
Precisao>18
ValorPadrao>"ND"

1 Resposta

thiago.correa

Use PreparedStatement

PreparedStatement ps = connection.preparedStatement("inset into tabela (valor) values (?)");

ps.setDouble(1, 52.0);

Lembre-se que o seu tipo de dado no java deve ser double e não um integer

Criado 5 de julho de 2009
Ultima resposta 6 de jul. de 2009
Respostas 1
Participantes 2