Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jessica07

Valor inteiro invalido consulta SQL

Recommended Posts

Boa tarde,

 

Estou tentando fazer um relatório de clientes filtrando pelo vendedor, exemplo: Quero um relatório de todos os clientes do vendedor de código 1, 2, 3 ...

 

Fiz a seguinte select e quando compilo e executo o programa, aparece que o valor inteiro nao é valido.

Segue código..

 

procedure TfrmConsultaRelClientes.BitBtn1Click(Sender: TObject);
begin
with dmPrincipal.query_clientes do
begin
close;
SQL.Clear;
SQL.Add('select * from clientes where id_vend like :pidVend');
ParamByName('pidVend').AsInteger:= StrToInt(dbe_idVend.Text);
Open;
end;
frmRelClientes.qr_Clientes.Preview;
O campo dbe_idVend é onde eu coloco o código do vendedor para filtrar seus clientes..
Alguem poderia ajudar?
Desde ja agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQL.Add('select * from clientes where id_vend = :pidVend');

 

 

Supondo o ID ser numérico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jéssica, minha dica (extendendo o que o Motta disse) é que você use o LIKE quando quiser procurar por um registro usando um termo que esteja contido no campo, é como uma pesquisa por palavras em um texto. Use o símbolo de igualdade sempre que você queira buscar um registro onde o termo de consulta coincida exatamente com o campo. O símbolo de igualdade é especialmente usado - por exemplo - para localizar registros por ID, afinal, 4 e 5 são próximos mas 4 é difente de 5, ou ainda, 4 e 45. Porque incluir 45 no resultado se você precisa do elemento com ID 4?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sua query está sendo enviada assim?

select * from clientes where id_vend = "1, 2, 3"

Se for neste caso não vai funcionar mesmo pois o sistema de formato de dados do banco de dados não vai reconhecer este número como inteiro. Você pode mudar seu software para que construa uma query que fique desta forma:

SELECT * FROM clientes WHERE id_vend = '1' OR id_vend = '2' OR id_vend = '3'

ou ainda

SELECT * FROM clientes WHERE id_vend IN ('1', '2', '3');

Link com mais informações sobre o uso do IN em Querys: http://www.techonthenet.com/sql/in.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas quando eu coloco direto na consulta sql o código do meu vendedor, aparece certinho.. mas o que eu quero fazer é o seguinte:

Tenho um dbedit que quando eu coloco o código do vendedor, tem um campo loockupcombobox que me traz o nome do cliente...

Eu quero criar um parametro para a consultar enxergar o código do vendedor que esta nesse dbedit entendeu? Ai quando o usuario for tirar um relatorio de clientes, ele vai poder filtrar o vendedor que ele quiser.

É isso que eu quero fazer, poderia ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.