Consulta usando o LIKE
Fala Galeraa.
Então preciso de uma ajuda.
Tenho um sistema que faz uma busca e estou usando essa rotina para executar essa busca
DM.ClientDataSet_PRODUTO_visual.Close;
DM.SQLDataSet_PRODUTO_visual.Close;
DM.SQLDataSet_PRODUTO_visual.CommandText := ´select COD_REFERENCIA, N_REGISTRO, DESCRICAO from TABELA_PRODUTO´;
Expressao := ´ where ´;
DM.SQLDataSet_PRODUTO_visual.CommandText := DM.SQLDataSet_PRODUTO_visual.CommandText + Expressao + ´ COD_REFERENCIA = ´´´+ N_produto.Text+´´´´;
Expressao := ´ and ´;
DM.ClientDataSet_PRODUTO_visual.Open;
eu queria uma rotina com o like mas já tentei aqui e até agora não ta dando, essa é a minha rotina com o like e não está me retornando nada
DM.Query_Produto_visual.Close;
DM.Query_Produto_visual.SQL.Clear;
DM.Query_Produto_visual.SQL.Add(´select * from tabela_produto where descricao like :x1´);
DM.Query_Produto_visual.ParamByName(´x1´).AsString := ´¬´ + descricao.Text + ´¬´;
DM.Query_Produto_visual.Open;
alguem poderia me ajudar quanto a esse problema ou me passar uma rotina com o like.
Ahh tambem queria saber se tem como quando eu efetuar a consulta ele não diferenciar maiuscula e minuscula isso teria como, pois meu banco tem informações maiuscula e minuscula.
Galera fico no aguardo.
Então preciso de uma ajuda.
Tenho um sistema que faz uma busca e estou usando essa rotina para executar essa busca
DM.ClientDataSet_PRODUTO_visual.Close;
DM.SQLDataSet_PRODUTO_visual.Close;
DM.SQLDataSet_PRODUTO_visual.CommandText := ´select COD_REFERENCIA, N_REGISTRO, DESCRICAO from TABELA_PRODUTO´;
Expressao := ´ where ´;
DM.SQLDataSet_PRODUTO_visual.CommandText := DM.SQLDataSet_PRODUTO_visual.CommandText + Expressao + ´ COD_REFERENCIA = ´´´+ N_produto.Text+´´´´;
Expressao := ´ and ´;
DM.ClientDataSet_PRODUTO_visual.Open;
eu queria uma rotina com o like mas já tentei aqui e até agora não ta dando, essa é a minha rotina com o like e não está me retornando nada
DM.Query_Produto_visual.Close;
DM.Query_Produto_visual.SQL.Clear;
DM.Query_Produto_visual.SQL.Add(´select * from tabela_produto where descricao like :x1´);
DM.Query_Produto_visual.ParamByName(´x1´).AsString := ´¬´ + descricao.Text + ´¬´;
DM.Query_Produto_visual.Open;
alguem poderia me ajudar quanto a esse problema ou me passar uma rotina com o like.
Ahh tambem queria saber se tem como quando eu efetuar a consulta ele não diferenciar maiuscula e minuscula isso teria como, pois meu banco tem informações maiuscula e minuscula.
Galera fico no aguardo.
Cleiflavio
Curtidas 0
Respostas
Vitor Alcantara
04/02/2009
Amigo qual banco de dados está utilizando?
tenta isso:
DM.Query_Produto_visual.SQL.Add(´select * from tabela_produto where descricao like ´´¬´´ + :x1 + ´´¬´´ ´ );
DM.Query_Produto_visual.ParamByName(´x1´).AsString := descricao.Text
;
DM.Query_Produto_visual.Open;
Se o banco de dados for Firebird o sinal de concatenização é || em vez de +.
Dai ficaria assim:
DM.Query_Produto_visual.SQL.Add(´select * from tabela_produto where descricao like ´´¬´´ || :x1 || ´´¬´´ ´ );
Ps : Não testei.
tenta isso:
DM.Query_Produto_visual.SQL.Add(´select * from tabela_produto where descricao like ´´¬´´ + :x1 + ´´¬´´ ´ );
DM.Query_Produto_visual.ParamByName(´x1´).AsString := descricao.Text
;
DM.Query_Produto_visual.Open;
Se o banco de dados for Firebird o sinal de concatenização é || em vez de +.
Dai ficaria assim:
DM.Query_Produto_visual.SQL.Add(´select * from tabela_produto where descricao like ´´¬´´ || :x1 || ´´¬´´ ´ );
Ps : Não testei.
GOSTEI 0
Cleiflavio
04/02/2009
Eu estou usando o Firebird 2.0.
Tentei essa dica que vc deu e não está dando certo.
o parametro X1 ele não está encontrando.
Tentei essa dica que vc deu e não está dando certo.
o parametro X1 ele não está encontrando.
GOSTEI 0
Cleiflavio
04/02/2009
Galera já resolvi o problema.
Dessa Maneira
M.ClientDataSet_PRODUTO_visual.Close;
DM.SQLDataSet_PRODUTO_visual.Close;
DM.SQLDataSet_PRODUTO_visual.CommandText := ´select COD_REFERENCIA, N_REGISTRO, DESCRICAO from TABELA_PRODUTO´
DM.SQLDataSet_PRODUTO_visual.CommandText := DM.SQLDataSet_PRODUTO_visual.CommandText + Expressao + ´ DESCRICAO LIKE ´ + QuotedStr(´¬´ + descricao.Text + ´¬´); // + descricao.Text+´´´´; //
DM.ClientDataSet_PRODUTO_visual.Open;
Acabei não usando a Query e deu certo, atende perfeitamente oq eu estava precisando.
Valeuu pela ajuda
Dessa Maneira
M.ClientDataSet_PRODUTO_visual.Close;
DM.SQLDataSet_PRODUTO_visual.Close;
DM.SQLDataSet_PRODUTO_visual.CommandText := ´select COD_REFERENCIA, N_REGISTRO, DESCRICAO from TABELA_PRODUTO´
DM.SQLDataSet_PRODUTO_visual.CommandText := DM.SQLDataSet_PRODUTO_visual.CommandText + Expressao + ´ DESCRICAO LIKE ´ + QuotedStr(´¬´ + descricao.Text + ´¬´); // + descricao.Text+´´´´; //
DM.ClientDataSet_PRODUTO_visual.Open;
Acabei não usando a Query e deu certo, atende perfeitamente oq eu estava precisando.
Valeuu pela ajuda
GOSTEI 0
Cleiflavio
04/02/2009
Lembrando que Expressao é uma variavel que recebe o WHERE.
GOSTEI 0