Erro: expecting: Float actual: FMTBcdField ?

Delphi

31/01/2005

Estou mudando um sistema para DBExpress e minha SQLQuery

esta dando o seguinte erro quando dou o open

Erro:
sqqNfCorpo: Type mismatch for field ´QUANT´, expecting: Float actual: FMTBcdField.

Eu estava subtituindo os campos FMTBcdField por Float e estava funcionando (simplesmente apagava e adiciona denovo), porem com esse SQLQuery nao esta funcionando.

como eu resolvo isso ?

Obrigado


Brunohenrique

Brunohenrique

Curtidas 0

Melhor post

Brunohenrique

Brunohenrique

01/02/2005

Caro colega,

valeu pela dica, eu resolvi da seguinte forma:

Select
codigo,
cast(valor as float) as valor

from tabela

Utilizo o Interbase 6.0

Valeu !!!


GOSTEI 1

Mais Respostas

Araujojunior

Araujojunior

31/01/2005

Pelo que entendi isso eh um erro em relação ao tipo do campo, verifica se está correto no BD..


GOSTEI 0
Brunohenrique

Brunohenrique

31/01/2005

esta conectado.

eu resolvi (pelo menos de momento) apagando o campo e adicionando um outro com o mesmo nome , como se fosse um campo calculado do tipo Float.


GOSTEI 0
Rômulo Barros

Rômulo Barros

31/01/2005

Amigo... passei por isso e ´quase morri do coração´ com esse problema. Isto aconteceu comigo quando eu estava migrando um sistema feito em ADO com Oracle e eu estava o covertendo para DBEXPRESS com Oracle. Finalmente, consegui resolver o problema. É o seguinte:

O delphi apenas aceita valores numéricos com, no máximo, 15 posicoes: Exemplo: (183493657589087). Então, sempre que um determinado campo resultante de uma consulta retorna um valor numérico maior do que 15 posições, ocorre o erro.

Para resolver, eu identifiquei o campo que trazia mais de 15 posições e resolvi com a seguinte instrução SQL:

SELECT SUBSTR(CAMPO,0,15)FROM TABELA


[color=red:e5499e21d5]O método SUBSTR é específico do Oracle. Verfique qual o método equivalente para o SGBD q vc utiliza.[/color:e5499e21d5]


GOSTEI 0
Bon Jovi

Bon Jovi

31/01/2005

TField em tempo de projeto é um mal do Delphi. Pra nao sacrificar as querys, prefira nao deixar os TFields persistentes. Ou entao crie rotina pra reconstruir os TFields conforme o q vier do servidor de banco de dados usado no momento da execução, salvando as principais propriedades setadas em tempo de projeto. Deixar amarrado nao vai te dar flexibilidade de agora ou no futuro a aplicação poder acessar vários bancos e/ou vários tipos de tecnologias de conexão do tipo CustomConnection.

--------------------
Shaman forever
--------------------



GOSTEI 0
POSTAR