Problemas em recuperar campo NUMERIC de uma tabela

6 respostas
D

Pessoal, estou com uma dúvida, tenho um banco de dados MS SqlServer e nele existem campos de tabelas que preciso recuperar em minha aplicação, só que estou tendo problemas em recuperar campos do tipo NUMERIC. Tenho visto exemplos de como recuperar campos do tipo CHAR, VARCHAR, INTEGER e etc. Mas sempre que encontro algo sobre NUMERIC, é só uma breve explicação de que tenho de usar o tipo Java java.math.BigDecimal.

Gostaria de saber como fazer para trazer para uma variável em minha aplicação o valor do campo cod_chamado que tenho em minha tabela com o valor numeric. Tenho o campo tipo_chamado que é um char(30), o qual consigo atribuir a minha variável tipochamado da seguinte maneira:

String tipochamado = rs.getString("tipo_chamado");

Agradeço se alguém puder me ajudar.

6 Respostas

Mauricio_Linhares

Já tentou usar isso aqui: http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html#getBigDecimal(java.lang.String)

BigDecimal campoNumerico = rs.getBigDecimal("cod_chamado");
D

Valeu pela ajuda Maurício Linhares, funcionou. Gostaria de ver também se alguém poderia me ajudar em como fazer para recuperar um campo real da tabela. É que tenho os campos “custo” e “temposolucao” que tem como atributo o valor real, agradeço se alguém puder me ajudar em como fazer para recuperá-los.

Mauricio_Linhares

Pra pegar um campo real você usa getDouble(“nomedocampo”) ou getFloat(“nomeDoCampo”), veja o que funciona aí.

D

Maurício Linhares, tentei utilizar tanto o getDouble quanto o getFloat da seguinte maneira:float custo = rs.getFloat("custo");
OU

double custo = rs.getDouble("custo");

Mas na chamada de impressão na tela não era retornado nenhum valor sendo que existem valores neste campo:out.println(custo);
Agradeço se alguém puder me dar uma dica do que pode estar errado.

D

Desculpe Maurício Linhares, agora a pouco descobri que eu havia colocado odouble custo = rs.getDouble("custo");Em uma posição errada de meu código e por este motivo era que o valor da variável não me era retornado. Obrigado pela ajuda :oops:

D

Pessoal gostaria de ver com vocês, tenho o seguinte código ASP para realizar um Update no banco:

Update chamado_teste set solucao='"+solucao+"', datasolucao=getdate(),status='Solucionado',responsavel='"+net.username+"',custo='"+custo+"',temposolucao=DATEDIFF(hour, data, getdate()) where cod_chamado='"+cod+"'")

Tentei transformá-lo para JSPUpdate chamado_teste set solucao='"+solucao+"', datasolucao='"+data_sist+"',status='Solucionado',responsavel='"+usuario+"',custo='"+custo+"',temposolucao=DATEDIFF(hour, data, getdate()) where cod_chamado='"+cod+"'");
Só que não sei como fazer para atribuir para uma variável este DATEDIFF, tipo:

String diferenca = [Funcao JSP para calcular esta diferenca]
Para que daí eu pudesse colocar o update da seguinte maneira: Update chamado_teste set solucao='"+solucao+"', datasolucao='"+data_sist+"',status='Solucionado',responsavel='"+usuario+"',custo='"+custo+"',temposolucao=diferenca where cod_chamado='"+cod+"'");
Agradeço se alguém puder me ajudar.

Criado 6 de junho de 2005
Ultima resposta 6 de jun. de 2005
Respostas 6
Participantes 2