Ir para conteúdo

Arquivado

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

Sirlan

Concatenação de aspas para o like

Recommended Posts

Iae galera...

To com um probleminha num select feito dentro de uma procedure no sql server com parametros passados via ASP.

 

Na aplicação em asp, eu chamo a procedure passando o campo de busca e seu respectivo texto, mas como o select utiliza like eu estou apanhando na hora de concanetar as aspas dentro da procedure pra montar o sql.

 

O código é esse:

select * from tb_noticia where  @campo like (@busca)

E a página ASP passando os parametros dessa forma:

sql = "exec sp_noticia 2, '"& campo &"', '''%"& busca &"%'''" 
rs.Open SQL,conexao

Jah verifiquei que, passando o parametro com 3 aspas simples o asp envia apenas 1 aspa simples, mas ainda assim o select naum retorna nada...

Jah tentei concatenar de diversas formas e nada ainda.

 

Conto com a ajuda do fórum!

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma possível solução para isso é o uso do EXECUTE, segue um simples exemplo, qq. coisa é só adaptar:

 

declare @campo varchar(100),
	@busca varchar(100)

set @campo = 'address'
set @busca = '%av.%'

--somente para ver o comando (select) que será executado
select ('select * from pubs..authors where ' + @campo + ' like '''+ @busca + '''')
--executando o comando (select)
exec ('select * from pubs..authors where ' + @campo + ' like '''+ @busca + '''')

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito Eriva. Muito obrigado.

 

Segue o código funcionando corretamente:

 

Na procedure:

exec ('select id_noticia, id_usuario, tx_titulo, tx_descricao, tx_noticia, dt_publicacao, tx_fonte, tx_link, bl_interna from tb_noticia where  ' + @campo + ' like '''+ @busca + '''')

No asp:

sql = "exec sp_noticia 2, '"& campo &"', '%"& busca &"%'"
rs.Open SQL,conexao

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.