Ir ao conteúdo
  • Cadastre-se

Francisco Angelini

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

0
  1. @leonardo0308 "update tabelaibtp " + "set aliqnac = ?, aliqimp = ?, aliqestadual = ?, aliqmunicipal = ? " + "where codigoncm = ? and clafis is not null and clafis <> ' ' "; deve ser assim que ficaria o update
  2. Sim ela retorna uma String do valor da requisição do site, porém acho que eu achei o erro, fiz um select no banco o primeiro valor que retorna é uma String com o valor " " (no caso é um espaço). vou ter que fazer uma alteração no update.
  3. Quando eu tiro o alterarImposto() ele funciona normalmente, pega os dados, faz a requisição e exibe o que retornou do site, porém quando eu envio pro banco da esse erro
  4. Meu setCodigo() ta como String, porque no banco o campo codigo ele ta como String, ai não tem como eu retornar um valor inteiro em um getCodigo() String, tem ncm (codigo de produto) que tem um 0 antes da primeira casa decimal, por isso que eu coloquei este 0 pois o ncm 1234567 na verdade teria que ser 01234567, entendeu?
  5. Bom dia, então eu estou fazendo um projeto que faz uma requisição em um site e retorna o valor dos novos impostos entre outras coisas, a parte do select e enviar a requisição está tudo ok, porém a parte introduzir o valor no banco não muito, o update está desta forma: public void alterarImposto() throws SQLException { Retorno retorno = new Retorno(); int nacional = Integer.parseInt(retorno.getNacional()); int importado = Integer.parseInt(retorno.getImportado()); int estadual = Integer.parseInt(retorno.getEstadual()); int municipal = Integer.parseInt(retorno.getMunicipal()); int codigo = Integer.parseInt(retorno.getCodigo()); try { ps = conexao .prepareStatement("UPDATE TABELAIBTP " + "SET ALIQNAC = ?, ALIQIMP = ?, ALIQESTADUAL = ?, ALIQMUNICIPAL = ? " + "WHERE CODIGONCM = ?"); ps.setInt(1, nacional); ps.setInt(2, importado); ps.setInt(3, estadual); ps.setInt(4, municipal); ps.setInt(5, codigo); ps.executeUpdate(); } catch (SQLException ex) { throw new SQLException("Erro alterarImposto: " + ex.getMessage()); } } Os campos ALIQNAC, ALIQIMP, ALIQESTADUAL e ALIQMUNICIPAL são do tipo Numeric E o metodo main está desta forma: public static void main(String[] args) throws SQLException { NcmDAO ncmD = new NcmDAO(); int codigo = 0; for (ncmMOD ncm : ncmD.carregarTeste()) { if (!"".equals(ncm.getCodigo())) { codigo = Integer.parseInt(ncm.getCodigo()); } if (codigo < 9999999) { ncm.setCodigo("0" + ncm.getCodigo()); } Client client = ClientBuilder.newClient(); Response response = client.target("https://apidoni.ibpt.org.br/api/v1/produtos?" + "token=" + ncm.getToken() + "&cnpj=" + ncm.getCnpj() + "&codigo=" + ncm.getCodigo() + "&uf=" + ncm.getUF() + "&ex=" + ncm.getEX() + "&descricao=" + ncm.getDescricao() + "&unidadeMedida=" + ncm.getUnidadeMedida() + "&valor=" + ncm.getValor() + "&gtin=" + ncm.getGtin()) .request(MediaType.APPLICATION_JSON) .get(); String s = response.readEntity(String.class); Gson gson = new GsonBuilder().create(); Type collectionType = new TypeToken<Retorno>() { }.getType(); Retorno r = gson.fromJson(s, collectionType); ncmD.alterarImposto(); System.out.println("Imposto auterado com sucesso"); System.out.println("-------------------------------------------------------------------------"); } } O Erro fica assim: Exception in thread "main" java.lang.NumberFormatException: null at java.lang.Integer.parseInt(Integer.java:542) at java.lang.Integer.parseInt(Integer.java:615) at dao.NcmDAO.alterarImposto(NcmDAO.java:55) at com.softcom.produtoncm.Teste.main(Teste.java:52)

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...