Array
(
)

Duvida em montar uma query com um campo tipo Integer

Marco
   - 16 set 2004

Olá pessoal !!!
Estou com o seguinte problema, preciso montar uma query assim:

Select NumeroDoControle, CodigoDoFuncionario from Funcionarios
where CodigoDoFuncionario like:CodFun

Sendo que CodigoDoFuncionario é do tipo Integer, e o parametro CodFun eu defini como DataType=ftInteger e ParamType=ptInput, e qdo vou adicionar os campos na query dá o seguinte erro:

Type mismatch in expression

Não é possivel montar query como parametros usando campo do tipo Integer?


Minuto
   - 16 set 2004

like funciona só com strings


Marco
   - 16 set 2004

E como faço para parametrizar um campo q é Integer, sendo q não posso usar o like?


Vinicius2k
   - 16 set 2004

Colega,

A função principal do operador LIKE é para comparação parcial em Strings, usando os caracteres coringas, ´¬´, ´*´, ´_´, ´?´ (quais caracteres depende do banco de dados )...
Para condições exatas como com Strings ou outros tipos, use o operador ´=´ (igual)...

#Código

Select
NumeroDoControle,
CodigoDoFuncionario
from
Funcionarios
where
CodigoDoFuncionario = :CodFun


Além do ´=´ vc pode usar ´>´, ´<´, ´>=´ e ´<=´, depende do que vc necessitar...

Espero ter ajudado...
T+


Bruno Belchior
   - 16 set 2004

é só voce uzar
Select SeuCampo from SuaTabela where SeuCampoInteiro = :Parametro


Salupe
   - 16 set 2004

Marcos na query sempre que usei números realmente, buscando um código ela dá esse problema, você pode usar o número só que o campo na hora da consulta vai estar como string assim pode-se usar o like.

Uso dessa forma para puxar de um edit:

select * from Funcionario where codfun like ´´´+EditCodFun.Text+´´´

e assim por variável (caso ela seja integer):

select * from Funcionario where codfun like ´´´+IntToStr(CodFun)+´´´


Marco
   - 16 set 2004

Valeu galera!!!! deu certinho, usando o:
where Campo =:Parametro