Delphi - Field do FDQYERY mudando seu type sozinho

Delphi

01/02/2019

Todos os fields do FDQUERY que são do tipo FLOATfield estão retornando com o tipo BCDfield, isso está dando erro quando vou fazer qualquer operação que necessite do field específico. Já criei uma condição no FDConnection dentro de maprules, a condição impõe que quando o field for do tipo BCD deve converter para FLOAT mas não funcionou. Alguém tem alguma sugestão do que mais posso fazer?
Gabriela

Gabriela

Curtidas 0

Respostas

Jucélio Silva

Jucélio Silva

01/02/2019

opa tudo bem Gabriela,

Já sofri muito com esses tipos de campos em componentes do delphi, a forma mais simples é alterar seus campos no componente para o tipo de retorno do banco, mas isso não resolve seu problema se seu sistema for para mais de um banco de dados.

O que te recomendo a fazer "Sendo o que faço nos sistemas da empresa que trabalho", remove todas as instancia de campos de objetos do banco query, table e parceiros XD .

Para identificar os fields usa as propriedade fields[INDICE] ou fieldByName('NOME_CAMPO') , assim você nunca sofrerá com essa situação.

Falo por experiencia, tive que converter vários legados por terem campos instanciados na virada para outros bancos .

Exitem outras formas também como usar uma camada preparada como firedac , mas se que coisa mais simples usando a própria query segue esse conselho que e sucesso na certa ... XD

Boa sorte!
GOSTEI 0
POSTAR