Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) request.querystring não funciona


claytonprog

Pergunta

Pessoal!

estou com o seguinte problema aqui!!!

Tenho um form onde eu tenho esse código:

response.write "<li><a href='"&pagina&"?cid="& rs2("CategoryID") & " &sub_categoria?id="& rs2("ID") &"'>" & rs2("CategoryName") & "</a></li>"


Esse código está passando 2 variaveis CID E SUB_CATEGORIA que são enviadas para um form chamado produtos, quando o form produtos abre apenas a variavel CID recebe o valor, porém a variavel  SUB_CATEGORIA vai vazia.

Está dando o seguinte erro:

Tipo de erro:
Microsoft JET Database Engine (0x80040E14)
Erro de sintaxe (operador faltando) na expressão de consulta 'CategoryID = 4 and sub_categoria='.
/estacao_convites/produtos.asp, line 301
Form Produtos.asp
<%
Set Conexao = Server.CreateObject("AdoDb.Connection")
Conexao.provider="Microsoft.Jet.OLEDB.4.0"
Conexao.connectionstring=Server.Mappath("painel/db/produtos.mdb")
Conexao.open    
    
    intPag        = Request.QueryString("pag")
    IF intPag = "" THEN intPag = 1

    Set rsCats = Server.Createobject("ADODB.RECORDSET")
    Set rsCats.ActiveConnection = Conexao
    
        TotRegPag = 9 ' QUANTIDADE DE REGISTROS POR PAGINA

        rsCats.CursorType = 3
        rsCats.PageSize = TotRegPag
        
        cid = request.querystring("cid")
        sub_categoria = request.querystring("id") \\ variável vem vazia
        
        'response.write sub_categoria
    'response.end
               
                     
        strSQL = "SELECT * FROM Products WHERE CategoryID = "& cid &" and sub_categoria=" & Sub_categoria 
        
                 
        
        rsCats.Open strSQL, Conexao
        
            IF rsCats.BOF AND rsCats.EOF THEN
            
                Response.Write "<br><center>Nenhum produto Encontrado</center><br>"
        
            ELSE            
        
                IF Int(intPag) > rsCats.PageCount THEN intPag = 1

                rsCats.AbsolutePage = intPag
            
                
While Not rsCats.EOF AND x < rsCats.PageSize

%>

Alguém poderia me ajudar????

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Segue o código completo:

Página index.asp

Neste código abaixo eu monto um menu e quando clico na opção do menu que eu quero, chamo um produto.

<%
set cn = Server.CreateObject("ADODB.Connection")
cn.provider= "Microsoft.Jet.OLEDB.4.0"
cn.connectionstring=Server.MapPath("painel/db/produtos.mdb")
cn.open

pagina = "produtos.asp"


SQL = "SELECT * FROM ProductCategories"
Set rs = cn.execute(sql)

response.write "<ul id='primary-nav'>"
   do while not rs.eof
   
         Sub_categoria = rs("CategoryID") 
      

        response.write "<li class='menuparent'><a href='java script:;'>"& rs("CategoryName") &"</a>"        
        
         
         SQL2  = "Select * From sub_categorias Where CategoryID = " & Sub_categoria

  

        set rs2 = cn.execute(sql2)

        If Rs2.eof Then
            response.write "</li>"
        Else
            response.write "<ul>"
            do while not rs2.eof
                
                
                response.write "<li><a href='"&pagina&"?cid="& rs2("CategoryID") & " &sub_categoria?id="& rs2("ID") &"'>" & rs2("CategoryName") & "</a></li>" 

 /// aqui eu chamo o produto e passo 2 variaveis via querystring  variavel CID e SUB_CATEGORIA.
                 
                               
               rs2.movenext
            loop
        response.write "</ul>"
        response.write "</li>"
        end if
        rs.movenext
    loop
response.write "</ul>"
%>
Página de produtos produtos.asp
<%
Set Conexao = Server.CreateObject("AdoDb.Connection")
Conexao.provider="Microsoft.Jet.OLEDB.4.0"
Conexao.connectionstring=Server.Mappath("painel/db/produtos.mdb")
Conexao.open    
    
    intPag        = Request.QueryString("pag")
    IF intPag = "" THEN intPag = 1

    Set rsCats = Server.Createobject("ADODB.RECORDSET")
    Set rsCats.ActiveConnection = Conexao
    
        TotRegPag = 9 ' QUANTIDADE DE REGISTROS POR PAGINA

        rsCats.CursorType = 3
        rsCats.PageSize = TotRegPag
        
        cid = request.querystring("cid")  // essa variavel vem preechida
        sub_categoria = request.querystring("id") // essa está vindo em branco
     
        // Gostaria da saber porque ela está vindo em branco?????
        
                    
                     
        strSQL = "SELECT * FROM Products WHERE CategoryID = "& cid &" and sub_categoria=" & Sub_categoria 
       // está dando erro porque a variavel sub_categoria está vindo em branco
                 
        
        rsCats.Open strSQL, Conexao
        
            IF rsCats.BOF AND rsCats.EOF THEN
            
                Response.Write "<br><center>Nenhum produto Encontrado</center><br>"
        
            ELSE            
        
                IF Int(intPag) > rsCats.PageCount THEN intPag = 1

                rsCats.AbsolutePage = intPag
            
                
While Not rsCats.EOF AND x < rsCats.PageSize

%>

Editado por claytonprog
Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal!

Obrigado pela ajuda,

consegui resolver

O erro era no "sub_categoria?" - retirei

Errado:

response.write "<li><a href='"&pagina&"?cid="& rs2("CategoryID") & " &sub_categoria?id="& rs2("ID") &"'>" & rs2("CategoryName") & "</a></li>"
Correto:
response.write "<li><a href='"&pagina&"?cid="& rs2("CategoryID") & " &id="& rs2("ID") &"'>" & rs2("CategoryName") & "</a></li>"

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...