OLá pessoal, estou com o seguinte problema, estou construindo uma aplicação cujo acesso aos dados é feito com jdbc, não estou usando hibernate.
ao salvar valores monetários…
observem o código
setando o valor do produto
item.getProdutoDTO.setValorProduto(“1.500,05”);
StringBuffer sql = new StringBuffer();
sql.append(" INSERT INTO tbMobilePedidoItem");
sql.append(" ( ");
sql.append("Num_item ");
sql.append(",");
sql.append("Num_docto");
sql.append(",");
sql.append("Observacao");
sql.append(",");
sql.append("Quantidade");
sql.append(",");
sql.append("Cod_produto");
sql.append(",");
sql.append("Cod_unidade");
sql.append(",");
sql.append("Cod_ref");
sql.append(",");
sql.append("Valor");
sql.append(" ) ");
sql.append(" VALUES ");
sql.append(" ( ");
item.setIdItem("4");
sql.append(item.getIdItem());
sql.append(",");
sql.append(item.getIdPedido());
sql.append(",");
sql.append("'" + item.getObservacao() + "'");
sql.append(",");
item.setQuantidade(item.getQuantidade().replaceAll(",", "."));
sql.append("'" + item.getQuantidade() + "'");
sql.append(",");
sql.append(item.getProdutoDTO().getCodProduto());
sql.append(",");
sql.append("'" + item.getProdutoDTO().getCodUnidade() + "'");
sql.append(",");
sql.append("'" + item.getProdutoDTO().getCodRef() + "'");
sql.append(",");
item.getProdutoDTO().setValorProduto(item.getProdutoDTO().getValorProduto().replaceAll(",", "."));
sql.append(new BigDecimal(item.getProdutoDTO().getValorProduto()).setScale(2));
sql.append(" )");
Conexao conexao = new Conexao();
Statement st = conexao.getConnection().createStatement();
st.executeUpdate(sql.toString());
não consigo gravar…
lanca a exeção…
java.lang.NumberFormatException
estou usando o banco sqlServer da microsoft…
o campo valor no banco de dados é tipo Decimal(15,4)
quem ja teve este problema qual abordagem voces utilizaram ?