Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
neldergalvao

Listagem do BD a partir de um critério!

Recommended Posts

Amigos, estou com uma dúvida muito grande. Pode ser até simples, mas estou com um bloqueio imenso!

Estava lendo em um de seus artigos, como obter informações de um form. Por exemplo numa busca, o ASP captura os dados de um form para listar os itens sob aquele critério.

No meu caso, a minha dúvida é a seguinte: Quero também listar os resultados sob um critério, mas não de um form, e sim de um link.

Ex.:

<a href="show_result.asp?cod=001"> Televisão </a>

No caso queria listar todas as televisões que tenham o código igual a 1. No meu BD há várias televisões, porém com os códigos diversificados.

Gostaria de saber como fica essa parte na "show_result.asp"?

Agradeço muito por sua ajuda, até mais!!

Abraços!

Nelder Galvão

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, esse cod=001, significa que é televisão, certo?

quais são os outros campos da tabela?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • No caso não são televisores, são outros produtos de xerox, máquinas de xerox, impressoras... coloquei televisores pois é um pensamento genérico.

    Os campos da tabela Produto são:

    cod (auto-numeração)

    marca (texto)

    nome (texto)

    info (texto)

    especific (texto)

    img (texto)

    aplic (texto)

    Sei que tenho que usar Request.QueryString na página show_result.asp, porém nesta página não estou conseguindo linkar a informação. Está dando um erro que não consigo resolver.

    Há um menu na página default.asp e quando clicado no produto, que está disponibilizado em uma listagem, deve apresentar informações desse produto. Sei que na show_result.asp deve ter uma consulta SQL para pegar os dados de acordo com o que está definido na default.asp.

    Vou postar como está na default.asp e como está na show_result.asp e o erro que está dando:

    default.asp

    <a href="../show_products.asp?cat=um" target="_parent" >Minolta DI 250/350 Copier </a>

    show_result.asp

    <%

    var conn = Server.CreateObject("ADODB.Connection");

    var myrecordset = Server.CreateObject("ADODB.RecordSet");

    conn.connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/inetpub/wwwroot/manre/database/produtos.mdb";

    conn.Open();

    codigo = Request.QueryString("cat");

    myrecordset.Open("select * from produtos where id LIKE '%" & codigo & "%' ;" ,conn);

    while(!myrecordset.EOF)

    {

    Response.Write("<table border=1>");

    Response.Write("<tr>");

    Response.Write("<td rowspan=2>");

    Response.Write(myrecordset("cod"));

    Response.Write("<br>");

    Response.Write(myrecordset("img01"));

    Response.Write("</td>");

    Response.Write("<td>");

    Response.Write(myrecordset("nome"));

    Response.Write("</td>");

    Response.Write("</tr>");

    Response.Write("<tr>");

    Response.Write("<td>");

    Response.Write(myrecordset("info"));

    Response.Write("</td>");

    Response.Write("</tr>");

    Response.Write("</table>");

    myrecordset.MoveNext();

    }

    conn.close();

    conn = null;

    %>

    Erro:

    ADODB.Recordset (0x800A0BB9)

    Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

    /manre/show_products.asp, line 61

    A linha que está dando o erro é esta:

    myrecordset.Open("select * from produtos where id LIKE '%" & codigo & "%' ;" ,conn);

    Poxa fico muito grato pela ajuda parceiro...

    Abraços!!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    mas claro que está errado.

    nessa linha codigo = Request.QueryString("cat");

    codigo esta recebendo o calor de cat? no caso um? manda imprimir pra ver se é isso mesmo.

    e nessa linha aqui myrecordset.Open("select * from produtos where id LIKE '%" & codigo & "%' ;" ,conn); não existe id na sua tabela, seria cod, não é?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Me desculpe caro, por ter confundido as coisas... Vou tentar ser mais claro.

    Na verdade estou trabalhando com texto, já que estava dando um erro de critério... por isso para testar, criei na minha tabela um campo "id" no formato texto. Esse "cat" é a string "um".

    Default.asp

    <a href="../show_products.asp?cat=um" target="_parent" >Minolta DI 250/350 Copier </a>

    O grande problema no meu caso é que na minha consulta SQL não estou conseguindo fazer o WHERE com uma variável.

    Se eu fizer assim:

    myrecordset.Open("select * from produtos where id = 'um' ;" ,conn); dá certo, já que na minha tabela há um campo chamado "id" que tem o valor "um", assim como "dois", "três" e assim por diante.

    Mas realmente eu não queria pôr uma string "um", queria pôr um inteiro, 1.

    Então para matar toda a charada basta me dizer como ficaria a consulta SQL... e como ficaria a linha da Request.QueryString, sabendo que estou usando JSCRIPT ...

    Eu tenho na minha tabela um campo COD, auto-numeração. Na verdade queria linkar a página default.asp com a show_result.asp com o inteiro, ficando assim:

    <a href="../show_products.asp?cat=1" target="_parent" >Minolta DI 250/350 Copier

    </a>

    Mas como ficaria minha consulta SQL e a linha do Request.QueryString ?

    Valeu mesmo irmão!!!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Me desculpe caro, por ter confundido as coisas... Vou tentar ser mais claro.

    Na verdade estou trabalhando com texto, já que estava dando um erro de critério... por isso para testar, criei na minha tabela um campo "id" no formato texto. Esse "cat" é a string "um".

    Default.asp

    <a href="../show_products.asp?cat=um" target="_parent" >Minolta DI 250/350 Copier </a>

    O grande problema no meu caso é que na minha consulta SQL não estou conseguindo fazer o WHERE com uma variável.

    Se eu fizer assim:

    myrecordset.Open("select * from produtos where id = 'um' ;" ,conn); dá certo, já que na minha tabela há um campo chamado "id" que tem o valor "um", assim como "dois", "três" e assim por diante.

    Mas realmente eu não queria pôr uma string "um", queria pôr um inteiro, 1.

    Então para matar toda a charada basta me dizer como ficaria a consulta SQL... e como ficaria a linha da Request.QueryString, sabendo que estou usando JSCRIPT ...

    Eu tenho na minha tabela um campo COD, auto-numeração. Na verdade queria linkar a página default.asp com a show_result.asp com o inteiro, ficando assim:

    <a href="../show_products.asp?cat=1" target="_parent" >Minolta DI 250/350 Copier

    </a>

    Mas como ficaria minha consulta SQL e a linha do Request.QueryString ?

    Valeu mesmo irmão!!!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Acredito que é assim.

    codigo = Request.QueryString("cat"); //para pegar o valor que você passou no link

    select * from Produto where id = 'codigo' ; //pegando todas as informações a partir da id = 'ao o que você passou'

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Acredito que é assim.

    codigo = Request.QueryString("cat"); //para pegar o valor que você passou no link

    select * from Produto where id = 'codigo' ; //pegando todas as informações a partir da id = 'ao o que você passou'

    Poxa amigo to quase desistindo... Tá certo, mas não tá rodando! Quando clico no link, não lista nada do meu BD, mas também não dá erro.

    tipo = Request.QueryString("cat");

    myrecordset.Open("select cod, img01, nome, info from produtos WHERE id='tipo';" ,conn);

    Quando mando imprimir o TIPO, ele imprime a palavra UM.

    Está certo, pois coloquei na default.asp o seguinte:

    <a href="../show_products.asp?cat=um" target="_parent"

    Usei String mas não estou conseguindo. Se ao invés de usar a variável eu colocar o valor direto, como por exemplo myrecordset.Open("select cod, img01, nome, info from produtos WHERE id='um';" ,conn); ele roda, mostrando o produto com ID = UM.

    Bom, há um erro relacionado à variável ... Tipo, deve ser algum erro de sintaxe no uso da vartiável no código SQL ... bom, agradeço muito a atenção e grande abraço!!

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Mas esta estranho, pois aparentemente esta tudo certo. Tenta tirar a aspa simples da consulta. Deixa id=tipo.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×