Erro: expecting: Float actual: FMTBcdField ?
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
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
Curtidas 0
Melhor post
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 !!!
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
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
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.
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
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:
[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]
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
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
--------------------
--------------------
Shaman forever
--------------------
GOSTEI 0