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

Problemas Na Busca


ju_rezende

Pergunta

Olá pessoal tenho uma query que da erro...

São duzentos iguais mas so ele da erro....

/sera que alguém poderia me ajudar?

Vou por meu codigo aqui.....

Onde fica aquery

<table width="770" border="0" cellspacing="0" cellpadding="0" >

  <tr>

    <td>

<table id="Loja" width="770" border="0" cellspacing="0" cellpadding="0">

        <%db = server.MapPath (".dados\treino.mdb")

'set con = server.CreateObject("adodb.connection")

set rs = server.CreateObject ("adodb.recordset")

sql = "select distinct Empresa from clientes where del=0"

'con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Tulio\novosite\dados\treino.mdb;Persist Security Info=False"

rs.Open sql,con,3,3 %>

        <tr>

                      <td height="24" valign="middle"><font size="2" face="Arial, Helvetica, sans-serif"><a href="file:///C|/tulio/site/!!_material/default.asp">Home</a></font>&nbsp;

                        <a href="file:///C|/tulio/site/!!_material/default.asp"><font size="2" face="Arial, Helvetica, sans-serif">Voltar</font></a>

                      </td>

          <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Total

              de Regitro&nbsp; <%=rs.RecordCount%></font></div></td>

        </tr>

                    <tr >

                      <td colspan="2" background="../imagem/fundodaTd.gif">

                        <div align="center"><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"><strong>Empresas</strong></font></div></td>

        </tr>

  <%Do while not rs.eof%>

                    <tr >

                      <td colspan="2" background="../imagem/fundodacinza.gif" align="center"><font face="Arial Unicode MS" size="2" color="#2165A5"><a href="Lojamostra.asp?Empresa=<%= rs("Empresa")%>"><font color="#2165A5">

                        <% =rs("Empresa")%>

                        </font></A></font></td>

        </tr>

  <%rs.movenext%>

  <%loop%>

  <% if con.state <> 0 then con.Close

If rs.state <> 0 Then rs.close

If rs1.state <> 0 Then rs1.close

set con= Nothing

set rs = Nothing

set rs1 = Nothing%>

      </table></td>

  </tr>

</table>

a busca.....

<table width="770" border="0" cellspacing="0" cellpadding="0">

  <tr>

    <td>

<%

  dim busca1

  busca1= request.querystring("empresa")

  'db = server.MapPath ("dados\treino.mdb")

'set con = server.CreateObject("adodb.connection")

set rs2 = server.CreateObject ("adodb.recordset")

sql2 = "select  * from clientes where empresa = '" & request.querystring("empresa") & "' and del=0"

'con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("..\dados\treino.mdb") &";Persist Security Info=False"

rs2.Open sql2,con,3,3 %>

<table id="lojamostra"width="770" border="0" cellspacing="0" cellpadding="0">

        <tr>

          <td><font size="2" face="Arial, Helvetica, sans-serif"><a href="default.asp">Home</a></font>

            <font size="2" face="Arial, Helvetica, sans-serif"><a href="loja.asp">Voltar</a></font></td>

          <td width="340"><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Total

              de registros</font> <%=rs2.recordcount%> </div></td>

        </tr>

        <tr>

                      <td colspan="2" "> <div align="left">

                          <%if rs2.eof=true then %>

                          <font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>

                          <%response.write " Nenhum registro encontrado"%>

                          <%else%>

                          </strong></font></div></td>

        </tr>

                    <tr >

                      <td colspan="2"background="../imagem/fundodaTd.gif"><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"><strong><font color="#990000">Pesquisa

                        por Empresa</font><font color="#000000"> &gt;&gt;</font>

                      <font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong> <%response.write busca1%></strong></font></td>

        </tr>

                    <tr >

                      <td colspan="2"background="../imagem/fundodacinza.gif">

                        <% do while not rs2.eof%>

                  <font color="#333333" size="2" face="Arial, Helvetica, sans-serif"><strong>Empresa:</strong></font><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"> <strong>

            <%response.write rs2("empresa")%>

                        </strong></font></td>

        </tr>

        <tr>

          <td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Endere&ccedil;o:

            </strong></font><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

            <%response.write rs2("Endereco")%>

            </font></td>

          <td><strong><font color="#000000" size="2">Bairro: </font></strong>

            <font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

            <%response.write rs2("Bairro")%>

            </font></td>

        </tr>

        <tr>

          <td><font size="2" face="Arial, Helvetica, sans-serif"><strong>Telefone:

            (12)</strong></font><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

            <% response.write rs2("Telefone")%>

            </font> </td>

          <td><font size="2" face="Arial, Helvetica, sans-serif"><strong>Site:</strong></font>

    <font size="2" face="Arial, Helvetica, sans-serif">:

            </font>

            <% if rs2("site")<>"-" then%>

            <a href ="Http://<%=rs2("site")%>"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

            <%response.write rs2("Site")%>

            </font>

            <%else%>

            </a><a href ="NaoSite.asp"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

            <%response.write rs2("Site")%>

            </font>

            <%end if%>

            </a>

          </td>

        </tr>

  <%rs2.movenext%>

        <%loop%>

        <%end if%>

</table>

<% if con.state <> 0 then con.Close

If rs.state <> 0 Then rs.close

If rs2.state <> 0 Then rs2.close

If rs1.state <> 0 Then rs1.close

set con= Nothing

set rs = Nothing

set rs1 = Nothing

set rs2 = Nothing%></td>

  </tr>

</table>

Valeu

abraços a todos

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Acho que já sei qual é o problema mas não consegui soluciona-lo.

tenho um registro chamado 100% video

no momento em que ele realiza a psquisa fica assim a query

Acho que o proble,a está ali na % um é do prorioregistro e a outra é do espaço entre as palavras 100% video

Será quealguém teria uma ideia?

Link para o comentário
Compartilhar em outros sites

  • 0

Quando você lista você manda imprimir o campo Nome e no link a ID. Na pagina seguinte, se você tiver duas tabelas, faz um inner join pra pegar o nome da empresa.

Não sei como está seu BD, mas é a forma que eu faço, raramente uso nomes nesses casos... aguarde um pouco, talvez alguém tenha alguma função que possa lhe ajudar. wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Olha o cod da pagina loja.asp

<table id="Loja" width="770" border="0" cellspacing="0" cellpadding="0">

        <%db = server.MapPath (".dados\treino.mdb")

'set con = server.CreateObject("adodb.connection")

set rs = server.CreateObject ("adodb.recordset")

sql = "select distinct Empresa from clientes where del=0"'con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Tulio\novosite\dados\treino.mdb;Persist Security Info=False"

rs.Open sql,con,3,3 %>

        <tr>

                      <td height="24" valign="middle"><font size="2" face="Arial, Helvetica, sans-serif"><a href="default.asp">Home</a></font>&nbsp;

                        <a href="default.asp"><font size="2" face="Arial, Helvetica, sans-serif">Voltar</font></a>

                      </td>

          <td><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Total

              de Regitro&nbsp; <%=rs.RecordCount%></font></div></td>

        </tr>

                    <tr >

                      <td colspan="2" background="../imagem/fundodaTd.gif">

                        <div align="center"><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"><strong>Empresas</strong></font></div></td>

        </tr>

  <%Do while not rs.eof%>

                    <tr >

                      <td colspan="2" background="../imagem/fundodacinza.gif" align="center"><font face="Arial Unicode MS" size="2" color="#2165A5"><a href="Lojamostra.asp?Empresa=<%= rs("Empresa")%>"><font color="#2165A5">

                        <% =rs("Empresa")%>

                        </font></A></font></td>

        </tr>

  <%rs.movenext%>

  <%loop%>

  <% if con.state <> 0 then con.Close

If rs.state <> 0 Then rs.close

If rs1.state <> 0 Then rs1.close

set con= Nothing

set rs = Nothing

set rs1 = Nothing%>

      </table>

Olha cod da lojamostra.asp

<table width="770" border="0" cellspacing="0" cellpadding="0">

  <tr>

    <td>

<%

  dim busca1

  busca1= request.querystring("empresa")

  'db = server.MapPath ("dados\treino.mdb")

'set con = server.CreateObject("adodb.connection")

set rs2 = server.CreateObject ("adodb.recordset")

sql2 = "select  * from clientes where empresa = '" & request.querystring("empresa") & "' and del=0"

'con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("..\dados\treino.mdb") &";Persist Security Info=False"

rs2.Open sql2,con,3,3 %>

<table id="lojamostra"width="770" border="0" cellspacing="0" cellpadding="0">

        <tr>

          <td><font size="2" face="Arial, Helvetica, sans-serif"><a href="default.asp">Home</a></font>

            <font size="2" face="Arial, Helvetica, sans-serif"><a href="loja.asp">Voltar</a></font></td>

          <td width="340"><div align="right"><font size="2" face="Arial, Helvetica, sans-serif">Total

              de registros</font> <%=rs2.recordcount%> </div></td>

        </tr>

        <tr>

                      <td colspan="2" "> <div align="left">

                          <%if rs2.eof=true then %>

                          <font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>

                          <%response.write " Nenhum registro encontrado"%>

                          <%else%>

                          </strong></font></div></td>

        </tr>

                    <tr >

                      <td colspan="2"background="../imagem/fundodaTd.gif"><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"><strong><font color="#990000">Pesquisa

                        por Empresa</font><font color="#000000"> &gt;&gt;</font>

                      <font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong> <%response.write busca1%></strong></font></td>

        </tr>

                    <tr >

                      <td colspan="2"background="../imagem/fundodacinza.gif">

                        <% do while not rs2.eof%>

                  <font color="#333333" size="2" face="Arial, Helvetica, sans-serif"><strong>Empresa:</strong></font><font color="#990000" size="2" face="Arial, Helvetica, sans-serif"> <strong>

            <%response.write rs2("empresa")%>

                        </strong></font></td>

        </tr>

        <tr>

          <td><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Endere&ccedil;o:

            </strong></font><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

            <%response.write rs2("Endereco")%>

            </font></td>

          <td><strong><font color="#000000" size="2">Bairro: </font></strong>

            <font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

            <%response.write rs2("Bairro")%>

            </font></td>

        </tr>

        <tr>

          <td><font size="2" face="Arial, Helvetica, sans-serif"><strong>Telefone:

            (12)</strong></font><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

            <% response.write rs2("Telefone")%>

            </font> </td>

          <td><font size="2" face="Arial, Helvetica, sans-serif"><strong>Site:</strong></font>

    <font size="2" face="Arial, Helvetica, sans-serif">:

            </font>

            <% if rs2("site")<>"-" then%>

            <a href ="Http://<%=rs2("site")%>"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

            <%response.write rs2("Site")%>

            </font>

            <%else%>

            </a><a href ="NaoSite.asp"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

            <%response.write rs2("Site")%>

            </font>

            <%end if%>

            </a>

          </td>

        </tr>

  <%rs2.movenext%>

        <%loop%>

        <%end if%>

</table>

<% if con.state <> 0 then con.Close

If rs.state <> 0 Then rs.close

If rs2.state <> 0 Then rs2.close

If rs1.state <> 0 Then rs1.close

set con= Nothing

set rs = Nothing

set rs1 = Nothing

set rs2 = Nothing%></td>

  </tr>

</table>

Link para o comentário
Compartilhar em outros sites

  • 0

você tá usando Distinct, tem mais de um registro com o mesmo nome de empresa?

se for, no seu banco tem a ID do banco que se repete? Exemplo:

id -|- id_empresa -|- nome_empresa

1  -|- ----- 1 ----- -|- empresa 1

2  -|- ----- 1 ----- -|- empresa 1

3  -|- ----- 2 ----- -|- empresa 2

4  -|- ----- 3 ----- -|- empresa 3

Dai você poderia fazer: select distinct nome_empresa, id_empresa from TABELA (e retorna os dados):

id_empresa -|- nome_empresa

----- 1 ----- -|- empresa 1

----- 2 ----- -|- empresa 2

----- 3 ----- -|- empresa 3

Link para o comentário
Compartilhar em outros sites

  • 0

Juliana, você não precisa mudar o banco de dados, se você já tem essa ID (pode ser qualquer nome) poderá utilizar. O que eu to dizendo é que precisa de um campo que identifique a empresa por um codigo único.

Se você usa um campo de identificaçao, não terá problema com o % porque você estará passando um numero e não um texto.

Link para o comentário
Compartilhar em outros sites

  • 0

mudei o select da loja.asp

sql = "select distinct codigo,empresa from clientes where del=0 order by empresa"

alteri o paramentro

<td colspan="2" background="../imagem/fundodacinza.gif" align="center"><font face="Arial Unicode MS" size="2" color="#2165A5"><a href="Lojamostra.asp?Empresa=<%= rs("codigo")%>"><font color="#2165A5">

                        <% =rs("Empresa")%></font></A></font></td>

ate aí funcionou certinho....ele lista meus clientes

mas quando clico no cliente da nenhum registro encontado

olha o lojamostra.asp

dim busca1

  busca1= request.querystring("codigo")

  'db = server.MapPath ("dados\treino.mdb")

'set con = server.CreateObject("adodb.connection")

set rs2 = server.CreateObject ("adodb.recordset")

sql2 = "select  * from clientes where codigo = '" & request.querystring("codigo") & "' and del=0 "

'con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("..\dados\treino.mdb") &";Persist Security Info=False"

linha 46rs2.Open sql2,con,3,3 %>

ai dá erro

Tipo de erro:

Microsoft JET Database Engine (0x80040E07)

Tipo de dados imcompatível na expressão de critério.

/tulio/site/!!_material/Lojamostra.asp, line 46

Link para o comentário
Compartilhar em outros sites

  • 0

não pode ser autonumeracao porque você está usando DISTINCT.

Olha, seu banco deve ter a tabela onde a mesma empresa se repete varias vezes não é? Pense em estruturar melhor seus dados.

Uma forma é uma tabela com ID(auto-numeracao) e nome das empresas (sem repetir) e na outra tabela você referencia pelo ID e não pelo nome.

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal agora tirei o elect distinct

Ficou assim a pagina da loja .asp

sql = "select codigo,empresa from clientes where del=0 order by empresa"

                      <td colspan="2" background="../imagem/fundodacinza.gif" align="center"><font face="Arial Unicode MS" size="2" color="#2165A5"><a href="Lojamostra.asp?codigo=<%= rs("codigo")%>"><font color="#2165A5">

                        <% =rs("Empresa")%></font></A></font></td>

e a do lojamostra.asp ficou assim

sql2 = "select  * from clientes where codigo = '" & request.querystring("codigo") & "' and del=0 "

linha46rs2.Open sql2,con,3,3 %>

MAs está dando o seguinte erro.

Tipo de erro:

Microsoft JET Database Engine (0x80040E07)

Tipo de dados imcompatível na expressão de critério.

/tulio/site/!!_material/Lojamostra.asp, line 46

Me ajudem por favor... sad.gifsad.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...