Ir para conteúdo

POWERED BY:

Arquivado

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

luiscarlos5046

[Resolvido] retornando dados de campos com status off

Recommended Posts

Olá Galera,

 

Tenho essa String

strSearch = ucase(Request.form("localizar"))
strSql = "SELECT TOP 18 id,banner "
strSql = strSql & " FROM clientes "
strSql = strSql & " WHERE nome like '%"& strSearch &"%' "
strSql = strSql & " OR descricao like '%"& strSearch &"%' "
strSql = strSql & " AND status_c = True "
strSql = strSql & " ORDER BY Rnd(Int(Now()*[ID])-Now()*[ID]) "	set rs = cn.execute(strSql)

O campo status_c está usando a opção "Sim/Não" e mesmo assim nessa pesquisa, os campos que estão com status "False" (desabilitados) estão sendo listados na pesquisa, o que não deveria acontecer.

 

O que deve estar errado ai?

 

Luis Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente coloar as instrução LIKE .. OR entre parênteses para separar do AND

strSearch = ucase(Request.form("localizar"))
strSql = "SELECT TOP 18 id,banner "
strSql = strSql & " FROM clientes "
strSql = strSql & " WHERE (nome like '%"& strSearch &"%' "
strSql = strSql & " OR descricao like '%"& strSearch &"%') "
strSql = strSql & " AND status_c = True "
strSql = strSql & " ORDER BY Rnd(Int(Now()*[ID])-Now()*[ID]) "  set rs = cn.execute(strSql)

Compartilhar este post


Link para o post
Compartilhar em outros sites

É como na matématica os parênteses definem a ordem que será executada a operação.

 

Esta definindo primeiro (nome like ... or descricao like ...) e depois o status = True.

 

Sem os parênteses a engine do BD iria tentar resolver a expressão como um todo o que gera confusão.

 

Deu um aluz.

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.