Fórum Ajuda com erro Field XXX cannot be modified Delphi 10 Seattle #587344
31/10/2017
0
Aqui na empresa estamos convertendo o sistema que era em Delphi 7 para Delphi 10 Seattle.
Surgiu um problema na hora da conversão pois em algumas telas utilizamos o componente TIBQuery para realizar as consultas no banco de dados (Firebird 3.0).
Utilizamos um TClientDataSet ligado a um TDataSetProvider e este ligado ao TIBQuery. Acontece que dentro do meu SQL eu tenho alguns campos "Fantasmas", por exemplo: "0.00 as Percentual". Estes campos são utilizados e alimentados através de um Edit no TClientDataSet em tempo de execução, porém agora no Delphi 10 ocorre um erro de "Field PERCENTUAL cannot be modified". Algumas coisas que já verifiquei e detalhes da rotina:
- O field está vindo como "ReadOnly", o que imagino que pode estar gerando esse problema. No delphi 7 isso não acontecia;
- Não adianta eu adicionar todos os campos da Query no cds (2 clicks no cds > add fields) e trocar a propriedade, pois a query é alterada em tempo de execução de acordo com as opções dos usuários, e se eu faço isso ocorre em alguns campos erro de "Field not found";
- Mesmo alterando a propriedade FieldDefs > Attributes > faReadOnly para false, o erro persiste;
Alguém saberia como ajustar isso? Teria alguma propriedade que eu deveria (des) marcar?
Obrigado.
Windel Ltda
Curtir tópico
+ 0Posts
31/10/2017
Windel Ltda
Gostei + 0
31/10/2017
José Menezes
criar outro campo similar e testar?
renomear este campo?
Recriar o campo?
Gostei + 0
31/10/2017
Windel Ltda
Acontece em outros campos também, mas apenas se for Firebird 3.0.
Em todos os que não estão fixos no BD, por exemplo, quando seleciono dessas formas:
0.00 AS PERCENTUAL,
0.00 AS QTDADE,
CAST(NULL AS DATE) AS DTAMOV
ou
EXTRACT(MONTH FROM DTAMOV) AS MES_MOV
São alguns exemplos, mas em todos que são assim acontece isso.
Gostei + 0
09/09/2022
Diogo Silva
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)