Ir para conteúdo

POWERED BY:

Arquivado

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

walterwac

[Resolvido] asp função trim

Recommended Posts

Tenho um dúvida corriqueira!

 

Seguinte: Para dados dispostos no banco de dados com a presença de apenas uma palavra, a paginação funciona perfeitamente. No entanto quando refere-se a duas palavras, a paginação desta consulta nao é realizada com sucesso!

Ex:Alfa Romeo

 

Desta forma resolvi utilizar a função trim que como diz a referênica, retira caracteres de espaços do inicio e do fim de uma string.

mas não funciona!

 

 

Alguem tem aguma idéia?

 

Obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi completamente

 

tem um exemplo online do problema? ou pode exemplificar como está fazendo esta paginação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema no caso me parece ser o espaço, pelo que entendi, quando você procura por "teste" se tiver no bd ele encontra mais quando procura por "teste teste" não acha, mais como falado pelo Mário, mostre a maneiro na qual você esta fazendo, assim vamos ter uma melhor idéia do que pode esta acontecendo.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Walter...

 

poste o trecho do código onde faz a paginação, para melhor analisarmos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

'código da primeira página

<%

Const adOpenStatic   = 3
Const adLockReadOnly = 1

set objPagingConn = Server.CreateObject("ADODB.Connection")
objPagingConn.Provider="Microsoft.Jet.OLEDB.4.0"
objPagingConn.Open server.MapPath("dados/goldnews.mdb")
set objPagingRS = Server.CreateObject("ADODB.recordset")
objPagingRS.Open "lista", objPagingConn, adLockReadOnly, adOpenStatic
        
Set objPagingRS = objPagingConn.execute("SELECT DISTINCT (componente) FROM lista")
contador = 0

' verifica se há dados no recordset 
If objPagingRS.eof then
response.write "Não existe componentes cadastrados!<br>" 
response.write query & "<br>O registro é igual a 0" 
objPagingConn.close
set objPagingConn = nothing
response.end 
end if 
%>
<% 
   DO UNTIL objPagingRS.eof
     componente = objPagingRS("componente")
     	
	 response.write "<tr>"
	 [color="#FF0000"]response.write "<td style=width:164px; bgcolor=#D4D4D4><font color=#000000 face=Arial size=1>" & " <a href='busca_m.asp?componente="& componente &"'>"& componente &"</a>" & "</td></font>"[/color]
	 response.write "</tr>"

     objPagingRS.MoveNext
     contador=contador+1
    LOOP
   
  objPagingRS.close
  set objPagingRS = nothing
  objPagingConn.close
  set objPagingConn = nothing
%>

'código da segunda página

<%
'Option Explicit

Const adOpenStatic   = 3
Const adLockReadOnly = 1
Const adCmdText      = &H0001

Dim CONN_STRING
CONN_STRING = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("dados/banco.mdb")

Dim iPageSize
Dim iPageCount
Dim iPageCurrent
Dim strOrderBy
Dim strSQL
Dim objPagingConn
Dim objPagingRS
Dim iRecordsShown
Dim iFieldCount
Dim iRecordCount
Dim LoopRecordCount
Dim pageNum
Dim counter
Dim markShowPage
Dim I, J


'fields declaradas
Dim componente
Dim descricao
Dim part_number
Dim enc
Dim marca
Dim dc
Dim qtde
Dim condicao


componente = Trim(Request.QueryString("componente"))'aqui recupero o valor da primeira página

iPageSize = 300

If Request.QueryString("page") = "" Then
	iPageCurrent = 1
Else
	iPageCurrent = CInt(Request.QueryString("page"))
End If

strSQL = "SELECT * from lista WHERE componente LIKE '%"& componente &"%'"
'order by id asc;"

Set objPagingConn = Server.CreateObject("ADODB.Connection")
objPagingConn.Open CONN_STRING

Set objPagingRS = Server.CreateObject("ADODB.Recordset")
objPagingRS.PageSize = iPageSize
objPagingRS.CacheSize = iPageSize
objPagingRS.Open strSQL, objPagingConn, adOpenStatic, adLockReadOnly, adCmdText

iPageCount = objPagingRS.PageCount
iFieldCount = objPagingRS.Fields.Count
iRecordCount = objPagingRS.RecordCount

If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
If iPageCurrent < 1 Then iPageCurrent = 1

If iPageCount = 0 Then
	Response.Write "Registro nao encontrado!"
Else
%>
<%

	objPagingRS.AbsolutePage = iPageCurrent

	
	Do While LoopRecordCount < iPageSize And Not objPagingRS.EOF
				
     	componente = objPagingRS("componente")
     	descricao = objPagingRS("descricao")
     	part_number = objPagingRS("part_number")
     	enc = objPagingRS("enc")
     	marca = objPagingRS("marca")
     	dc = objPagingRS("dc")
     	qtde = objPagingRS("qtde")
     	condicao = objPagingRS("condicao")


	     response.write "<tr>"
	     response.write "<td style=width:164px; bgcolor=#267F00><font color=#ffffff face=Arial size=1>" & componente & "</td></font>"
	     response.write "<td style=width:140px; bgcolor=#267F00><font color=#ffffff face=Arial size=1>" & descricao & "</td></font>"
	     response.write "<td style=width:152px; bgcolor=#267F00><font color=#ffffff face=Arial size=1>" & part_number & "</td></font>"
	     response.write "<td style=width:38px; bgcolor=#267F00><font color=#ffffff face=Arial size=1>" & enc & "</td></font>"
	     response.write "<td style=width:65px; bgcolor=#267F00><font color=#ffffff face=Arial size=1>" & marca & "</td></font>"
	     response.write "<td style=width:28px; bgcolor=#267F00><font color=#ffffff face=Arial size=1>" & dc & "</td></font>"
	     response.write "<td style=width:30px; bgcolor=#267F00><font color=#ffffff face=Arial size=1>" & qtde & "</td></font>"
	     response.write "<td style=width:92px; bgcolor=#267F00><font color=#ffffff face=Arial size=1>" & condicao & "</td></font>"
	     response.write "</tr>"

		
		
		LoopRecordCount = LoopRecordCount + 1
		objPagingRS.MoveNext
	Loop

	objPagingRS.Close
	Set objPagingRS = Nothing
	objPagingConn.Close
	Set objPagingConn = Nothing
End If

iRecordCount = iRecordCount - 1
iFieldCount  = iFieldCount - 1
LoopRecordCount = LoopRecordCount - 1

pageNum = Round(iRecordCount/iPageSize)
If pageNum < (iRecordCount/iPageSize) Then pageNum = pageNum + 1

Response.Write "  <b>"
For counter = 1 To pageNum
	if counter=iPageCurrent then
		Response.Write " <span class=activepage> "
		Response.Write counter
		Response.Write " </span>"
		markShowPage=1
	else
		Response.Write " <a onclick=exitoff() href=busca_m.asp?componente=" & componente & "&page="
 		'href=busca.asp?page="
		Response.Write counter
		Response.Write " class=listingLink>"
		Response.Write counter
		Response.Write "</a>"
	end if
Next
Response.Write "</b>"

Response.Write "  "

Response.Write "<b>"

Response.Write "<a href=busca_m.asp?componente=" & componente & "&page="
If iPageCurrent = 1 Then
	Response.Write pageNum
else
	Response.Write iPageCurrent-1
end if
Response.Write " class=listingLink>anterior</a>  "
[color="#FF0000"]Response.Write "<a href=busca_m.asp?componente=" & componente & "&page="[/color]
If iPageCurrent = pageNum Then
	Response.Write "1"
else
	Response.Write iPageCurrent+1
end if
Response.Write " class=listingLink>proximo</a>"

Response.Write "</b>"

%>

onde será que errei?

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça um teste simples, na linha aonde esta o seguinte code

 

componente = Trim(Request.QueryString("componente"))

teste direto na variavel

 

'componente = Trim(Request.QueryString("componente"))
componente = "texto a ser buscado"

em "texto a ser buscado" coloque o que deseja buscar e veja se funciona, depois poste o resultado aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funciona do mesmo jeito!

Acho que a solução mais rápida e unir as palavras com hífem!

 

 

Obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer que a função Trim mude de Alfa Romeo para AlfaRomeo?

 

se for isso não funcionará, trim retira das pontas, não do meio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então me desculpe eu devo ter interpretado mal o uso desta função.

 

Mas de qualquer forma muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho, pois eu sugeri colocar direto

 

componente = "texto a ser buscado"

e tu havia dito que não funfou?!?!?!

 

Mais que bom que foi resolvido.

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.