Fórum Firedac + Android #559571

26/07/2016

0

Boa tarde!

Não consigo solucionar esse problema já faz 3 dias, já pesquisei em todo lugar e nada, se alguém puder ajudar eu agradeço.
Tenho uma base de dados chamada 'cadastro.s3db' criada no sqlite com a seguinte estrutura:
tabela: Produtos
id: integer;
qtd: integer;
total: Decimal(15,2);

na minha aplicação firemonkey (android), utilizei FDConnection para se conectar, e para prover acesso aos dados utilizei uma FDQuery, persisti os campos nela... Ficando da seguinte forma:
id : TIntegerField
qtd: TIntegerField
total: TBCdField
(obs: criei todos clicando em add allfields, ja tentei utilizar outro tipo além do TBCDField, como o FMTBCD).

A conexão é feita com sucesso, mas sempre que dou open nessa query ou em qualquer outra query que contém campo decimal (somente com campo decimal ou real acontece isso) ocorre o erro:

FDQuery1: Type Mismatch for field 'total', expecting: BCD
actual: LargeInt;

Desde já obrigado!
Core

Core

Responder

Posts

27/07/2016

Luiz Menin

Também já passei por erros semelhantes. Gerou grande dor de cabeça na época. Isso quando eu utilizava o Delphi XE5.
Tente alterar o formato dos campos numéricos para NUMERIC(15,2).
No momento utilizo o Delphi X10 Seattle nunca mais tive esse problema.
Aguardo feedback.
Responder

Gostei + 0

02/08/2016

Core

Olá, não deu certo,ainda está o mesmo erro!
Responder

Gostei + 0

03/08/2016

Natanael Ferreira

Incompatibilidade entre o tipo de dados deste campo adicionado na FDQuery1 e o que está no banco.

Experimente remover os fields do FDQuery1 e adicioná-los novamente.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar