Error passing value in variable Where clause in SQL in ASP

Asked

Viewed 164 times

0

Follow the code below

Even if the id items exist ... swipe through and only show the value of the variable3

What am I doing wrong ?

<%
variavel1 = LCase(Request.ServerVariables("URL")) 
variavel2 = LCase(Request.ServerVariables("QUERY_STRING"))
variavel3 = "SEM TÍTULO AINDA | ConteudoAnimal.com.br"

select case variavel1
  case "/"
    response.write ("Informações e Noticias sobre: cachorros, gatos, cavalos, pássaros, peixes e muito mais")

  case "/default.asp"
    response.write ("Informações e Noticias sobre: cachorros, gatos, cavalos, pássaros, peixes e muito mais")

  case else
    set rs=conn.execute("select title from paginastitulodescricao where lcase(url) like CONCAT("%",variavel2,"%")")

    if not rs.EOF then
      response.write rs("title")
    else
      set rs=conn.execute("select title from paginastitulodescricao where lcase(url) like CONCAT("%",variavel1,"%")")
      response.write rs("title")
   end if

   if rs.EOF then
     response.write variavel3
   end if 

End Select
response.write("| ConteudoAnimal.com.br")
%>

1 answer

0

The error occurs when handling recordset, it was not possible to put "& XX &" in the querie to call the contents of the variable

<%'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ SEU CÓDIGO
variavel1 = LCase(Request.ServerVariables("URL")) 
variavel2 = LCase(Request.ServerVariables("QUERY_STRING")) 
variavel3 = "SEM TÍTULO AINDA | ConteudoAnimal.com.br"

select case variavel1 
    case "/" 
        response.write ("Informações e Noticias sobre: cachorros, gatos, cavalos, pássaros, peixes e muito mais")

    case "/default.asp" 
        response.write ("Informações e Noticias sobre: cachorros, gatos, cavalos, pássaros, peixes e muito mais")

    case else 
        set rs=conn.execute("select title from paginastitulodescricao where lcase(url) like CONCAT("%",variavel2,"%")") 
        if not rs.EOF then 
            response.write rs("title") 
        else 
            set rs=conn.execute("select title from paginastitulodescricao where lcase(url) like CONCAT("%",variavel1,"%")") 
            response.write rs("title") 
        end if 
        if rs.EOF then 
            response.write variavel3 
        end if
End Select 

response.write("| ConteudoAnimal.com.br")

'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERRO

'o select case está correto o erro está no if|else do recordset
' Exemplo
'set rs = conn.execute(sql)
'if not rs.eof then     @@@ recupera tudo que encontrou na querie
'else                   @@@ o else é como "elseif rs.eof then" somente para este caso, logo não se faz necessário
' o erro ocorre exibindo a variavel3, pois por duas vezes é retornado "if rs.eof then", eu refiz teu código verifique se ajuda

variavel1 = LCase(Request.ServerVariables("URL")) 
variavel2 = LCase(Request.ServerVariables("QUERY_STRING")) 
variavel3 = "SEM TÍTULO AINDA | ConteudoAnimal.com.br"

select case variavel1 
    case "/" 
        response.write ("Informações e Noticias sobre: cachorros, gatos, cavalos, pássaros, peixes e muito mais")
    case "/default.asp" 
        response.write ("Informações e Noticias sobre: cachorros, gatos, cavalos, pássaros, peixes e muito mais")
    case else 
        sql = "select title from paginastitulodescricao where lcase(url) like CONCAT('%',"& variavel2 &",'%')"
        set rs=conn.execute(sql) 
        if not rs.EOF then 
            response.write rs("title") 
        else 
            set rs2=conn.execute("select title from paginastitulodescricao where lcase(url) like CONCAT('%',"& variavel1 &",'%')") 
            if not rs2.eof then
                response.write rs2("title") 
            else
                response.write variavel3 
            end if
        end if 
End Select 

response.write("| ConteudoAnimal.com.br")

%>
  • thanks for the attention ... problem solved !

Browser other questions tagged

You are not signed in. Login or sign up in order to post.