SQL com quot;LIKEquot;

Delphi

04/08/2006

[color=red:72a55ce177]Título editado por Massuda Removido: ´Ajuda!!!!!´[/color:72a55ce177]

Olá!

Vou tentar explicar minha dificuldade nesta consulta.

Vamos supor que eu tenho cadastrado no sistema registros com os seguintes códigos:

100A
100V
100E
1000A
1000V

Quero buscar apenas os registros com o código 100, ou seja (100A, 100V e 100E)
Com a minha busca, quando eu digito 100, ele traz os códigos 1000 também.

Estou utilizando uma consulta sql com o LIKE
SELECT * FROM TABELA
WHERE NOME_CAMPO LIKE :cod

Existem alguma maneira de eu buscar apenas os campos 100??? Lembrando que com apenas uma busca, ele tem que me trazer todos os registro que contém 100, por isso utilizo o LIKE.

Se puderem me ajudar, ficaria muito grato!

Roni


Ronithd

Ronithd

Curtidas 0

Respostas

Rjun

Rjun

04/08/2006

Coloque o trecho de código onde você está passando o parâmetro. O código SQL teria que ser algo assim:

SELECT * FROM Tabela WHERE Campo LIKE ´100¬´


GOSTEI 0
Ronithd

Ronithd

04/08/2006

OK

Para passar o parametro, eu utilizo o seguinte comando:

cds_lista_produtos.Close;
cds_lista_produtos.Params[0].AsString := DBEdit1.Text+´¬´;
cds_lista_produtos.Open;

Esta correto?


GOSTEI 0
Rjun

Rjun

04/08/2006

Use QuotedStr para passar o parâmetro.

cds_lista_produtos.Close; 
cds_lista_produtos.Params[0].AsString := QuotedStr(DBEdit1.Text+´¬´); 
cds_lista_produtos.Open; 



GOSTEI 0
Ronithd

Ronithd

04/08/2006

Rjun, utilizei o QuotedStr para passar o parametro, mais a busca nao retorna nenhum registro...


GOSTEI 0
Macario

Macario

04/08/2006

Olá.

Com dbExpress, não há necessidade do QuotedStr.

Agora quanto a instrução da sua pesquisa, creio que vc deva utulizar Like e substring, no momento nao consigo ´ver´ outra saida.

SELECT * FROM TABELA
WHERE NOME_CAMPO LIKE :cod 
AND SUBSTRING(CAMPO,1,3)= :COD2



Onde vc passaria o segundo parametro sem o ´[b:9d0ab6003c]¬[/b:9d0ab6003c]´

Agora se este campo da pesquisa for usado para guardar numero de parcelas por exemplo, o ideal seria, um outro campo para guardar a variante da parcela.

Já tive problema parecido, com esta situação.


Espero ter ajudado.




P.s.: não testei.


GOSTEI 0
Ronithd

Ronithd

04/08/2006

Pessoal, muito obrigado pela ajuda!

Consegui achar o que faltava.

SELECT * FROM cad_produto
WHERE cod_produto LIKE ´100_´

é só utilizar o ´_´ underline depois do meu parametro e esquecer o ´¬´

Exemplo:
LIKE ´A_´ String que tenham a primeira letra A e o segundo caractere seja qualquer outro.

da certinho


GOSTEI 0
POSTAR