Fórum Erro estranho com ADOQuery ou ADODataSet #397964
24/03/2011
0
Quando vou ativar a adoquery ou o adodataset, vem o seguinte erro:
Falha ao converter o varchar valor 'Test' para o tipo de dados int. A query que se carrega é a abaixo:
select
i.operador,i.tipo_edicao,i.num_edicao,i.num_pagina,i.data,l.nome,
replace((100-l.per_indef),'.',',')as per_indef
from
log_index_logs l inner join log_index_img i on l.nome = i.nome_final
where
substring(nome,1,4) between 1876 and 1940 and 100-l.per_indef >= 82 or
substring(nome,1,4) between 1941 and 1950 and 100-l.per_indef >= 85 or
substring(nome,1,4) between 1951 and 1960 and 100-l.per_indef >= 87 or
substring(nome,1,4) between 1961 and 1970 and 100-l.per_indef >= 88 or
substring(nome,1,4) between 1971 and 1980 and 100-l.per_indef >= 89 or
substring(nome,1,4) between 1981 and 1990 and 100-l.per_indef >= 90 or
substring(nome,1,4) between 1991 and 2001 and 100-l.per_indef >= 92
order by l.nome,i.data,i.operador
Pjava
Curtir tópico
+ 0
Responder
Posts
24/03/2011
Pjava
Descobrir que o problema esta no Where com aquelas substring todas. Como faço uma conversão, caso seja isso?
Responder
Gostei + 0
24/03/2011
Pjava
Resolvi. Tive que colocar aspas. dentro do sql manager ele já faz um cast, pelo que eu entendi, uma conversão implicita e que nos componentes do ADO do Delphi não, por isso tratar caso a caso. Valeu e já está resolvido.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)