ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

TClientDataSet não pega corretamente campo decimal

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Mobile com Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
eduardoserrao
Novato
Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016
Mensagens: 78

MensagemEnviada: Seg Dez 12, 2016 8:00 am    Assunto: TClientDataSet não pega corretamente campo decimal Responder com Citação

Boa tarde pessoal,
Estou com um problema ao recuperar valores decimais do SQLite.
Tenho uma tabela produto com uma coluna valor, e nesta tabela tenho alguns registros com valores decimais.
Mas quando tento recuperar esses valores para adicionar no listview eles aparecem apenas a parte inteira.
Estou utilizando TClientDataSet, TDataSetProvider e TFDQuery;
Setei a consulta SQL no TFDQuery.
Depois apontei meu TFDQuery na propriedade DataSet do meu TDataSetProvider
E depois apontei meu TDataSetProvider na propriedade providerName do meu TClientDataSet.

Código:
while not DM.ClienteDataSet.Eof do
begin
  Item := lsViewProdutos.Items.Add;
  Item.Text := DM.ClienteDataSet.FieldByName('DESCRICAO').AsString;       
  Item.Data[TMultiDetailAppearanceNames.Detail1] := 'Valor Varejo: R$' + FormatFloat(',.00',DM.ClienteDataSet.FieldByName('VALOR').AsFloat);
  DM.ClienteDataSet.Next;
end;


Alguém sabe como posso pegar o valor certo?
Abraços;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Qui Dez 15, 2016 3:07 pm    Assunto: Responder com Citação

Verifica o tipo do campo no ClientDataSet e na FDQuery, caso ambos estejam como Float, coloca um breakpoint logo na abertura da query e verifica o valor que a query está trazendo.

Você pode procurar por pontos de arredondamento também.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
eduardoserrao
Novato
Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016
Mensagens: 78

MensagemEnviada: Qui Dez 15, 2016 5:27 pm    Assunto: Responder com Citação

Oi leo,
Você fala para verificar o tipo nos fields? meu componente TFDQuery não está com SQL e nem fields, eu passo a SQL em tempo de execução. estou usando meus componentes para 2 tabelas, alterando a consulta e os campos que eu quero pegar do ClientDataSet em tempo de execução.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Sex Dez 16, 2016 9:27 am    Assunto: Responder com Citação

Entendi, nesse caso, tenta debugar o código para acompanhar o valor em tempo de execução, desde o momento de abertura da query até o momento que o valor é utilizado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Mobile com Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB