16/09/2004

Duvida em montar uma query com um campo tipo Integer

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?


Marco

Respostas

16/09/2004

Minuto

like funciona só com strings


Responder Citar

16/09/2004

Marco

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


Responder Citar

16/09/2004

Vinicius2k

Colega,

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

Select
  NumeroDoControle, 
  CodigoDoFuncionario
from 
  Funcionarios
where 
  CodigoDoFuncionario = :CodFun


Além do [b:93b2ec72ff]´=´[/b:93b2ec72ff] vc pode usar[b:93b2ec72ff] ´>´, ´<´, ´>=´ e ´<=´[/b:93b2ec72ff], depende do que vc necessitar...

Espero ter ajudado...
T+


Responder Citar

16/09/2004

Bruno Belchior

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


Responder Citar

16/09/2004

Salupe

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)+´´´


Responder Citar

16/09/2004

Marco

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


Responder Citar