Ir para conteúdo

POWERED BY:

Arquivado

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

Maicon Alvim

ASP - Busca

Recommended Posts

Boa tarde galera!

 

Tenho uma página de busca em asp que deve retornar o valor pesquisado em um BD Access. O problema é o seguinte, se solicito uma busca pelo valor 10, ele traz também o valor 10b, 10c, 1010 e assim por diante.

 

Já lí que pode ser por causa do SELECT * e o WHERE.

 

Obrigado.

 

Segue código abaixo.

 

________

 

<%
vartipo = Request.Form("tipo")
varcriterio = Request.Form("criterio")
Dim Sql
Set NecroInfo = Server.CreateObject("ADODB.Connection")
NecroInfo.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("banco/info.mdb")
Set RsInfo = Server.CreateObject("ADODB.Recordset")


Sql = "SELECT * FROM duplicata" 

   If vartipo = "odv" Then

      Sql = Sql & " WHERE odv LIKE '%" & varcriterio & "%'"

   End If
   
Set RsInfo = Server.CreateObject("ADODB.Recordset")
RsInfo.Open Sql, NecroInfo, 3
%>

<%If RsInfo.BOF and RsInfo.EOF Then%>

HTML Se não houver valor no BD

<%Else%>
<%If Not RsInfo.BOF Then%>

HTML Cabeçalho da página caso a busca retorne valor

<%Do While Not RsInfo.EOF%>

HTML para exibição do resultado da busca
<%RsInfo.MoveNext
Loop%>

</table>

<%End If%>

<%End If%>

<%

RsInfo.Close

NecroInfo.Close

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

é por causa do SELECT * ,WHERE e tb você esta usando operador LIKE, operador LIKE é usado em uma cláusula WHERE para procurar um determinado padrão em uma coluna.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você quer que retorne os registros onde a coluna seja exatamente = 10 tem que ser assim

 

Sql = Sql & " WHERE odv = '" & varcriterio & "'"

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.