Onde ta o erro na consulta em SQL?

Delphi

08/02/2004

Onde ta o erro nesta instruçao em SQL, sendo q o nome do BD eh DeD e tem a tabela ARMA naum ta funcionando.. preciso URGENTE DE AJUDA!

[color=red:467b6f214e]select nome from arma where cat like:*[/color:467b6f214e]


Brunoaz

Brunoaz

Curtidas 0

Respostas

Alexdias

Alexdias

08/02/2004

CARO BRUNO AZ ....
GOSTARIA DE MAIS DADOS SOBRE A SUA TABELA, NOME DOS CAMPOS TIPO DOS DADOS , MAS TENTAREI TE AJUDAR ...

SUPONDO QUE VC TENHA UMA TABELA CHAMADA TPRODUTO E O NOME DO CAMPO ONDE FICA GRAVADO AS ESPECIFICACOES DO PRODUTO SEJA ´DESCRICAO´ E QUE VC TENHA UM EDIT CHAMADO ´EDPRODUTO´ E NESTE EDIT E ONDE VC VAI DIGITAR O NOME INICIAL DO PRODUTO ...


(´Select * From TProduto WHERE descricao LIKE ´´+edproduto.text+´¬´´);


ESPERO TER AJUDADO ...

QUALQUER DUVIDA ENTRE EM CONTATO


alexdiastec@ig.com.br


GOSTEI 0
Allen74

Allen74

08/02/2004

Onde ta o erro nesta instruçao em SQL, sendo q o nome do BD eh DeD e tem a tabela ARMA naum ta funcionando.. preciso URGENTE DE AJUDA! [color=red:0b6ca8a9ec]select nome from arma where cat like:*[/color:0b6ca8a9ec]

Bruno, esta parte de seu SQL está errada: [b:0b6ca8a9ec]like:*[/b:0b6ca8a9ec]

depois do like você deveria colocar o valor para comparação ou então o parâmetro da consulta.

Uma construção correta seria:
SELECT nome FROM arma WHERE cat LIKE "uma categoria qualquer"


Lembrando que a cláusula LIKE permite a utilização de caracteres coringa como o ¬ que subsitui qualquer caractere na pesquisa ou o underscore ´_´ que substitui um caractere. Sugiro que você consulte alguma referência em SQL para maiores detalhes. Utilizando parâmetros, um código correto seria:
// pesquisa qualquer categoria cujo nome inicia com as letras cat
Query1.SQL.Clear;
Query1.SQL.Add(´SELECT nome FROM arma WHERE cat LIKE :param1´);
Query1.SQL.ParamByName(´param1´).AsString = ´cat¬´;
Query1.SQL.Open;



GOSTEI 0
POSTAR