• 0
Sign in to follow this  
py2tz

Problemas Com Order By

Question

Pois é, uma coisa que não estou entendendo,

No BD existem diversas colunas, hoje esta com o sort por nomes e quando eu mudo o sort para uma coluna que possui numeros o sistema até para e fica uns 5 minutos para aparecer algo e quando aparece vem tudo atrapalhado.

Veja so os dados da coluna Nome:

order by Nome ASC

ABC Northern Territory

KCBS Pyongyang

Radio Educadora

Todas veem rápido e na ordem crescente conforme o pedido.

Porem quando eu altero o script e peço um outro campo com numeros não vem nada e a pagina fica lerda a bessa, e parece até que dá pau no servidor ou na minha maquina. O engraçado é que seu peço pra fazer com a ID fica legal tambem e são numeros do mesmo jeito.

order by 19mts ASC

2310

2325

2350

2380

2390

2390

2410

2460

2460,5

2470

2485

2500

2625

2850

O campo acima esta com tipo numero e formato simples.

alguém teria uma explicação pra saber onde esta o problema?

Obrigado

Fausto

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

com certeza está na orma que você montou seu loop, se for usando coisa doida como:

somente um set e logo depois seu loop ai a coisa fica preta para você...use todos os itens que um loop tem que ter em sua conexão tipo:

Const page_tamanho = 15

atual_page = 1

Set Objetivo = Server.CreateObject("ADODB.RecordSet")

Objetivo.PageSize = page_tamanho

Objetivo.CacheSize = page_tamanho

Objetivo.CursorLocation = 3

Objetivo.Open sql, DB_conexao

registro = Objetivo.RecordCount

paginas = Objetivo.PageCount

<%

If Registro = 0 Then

%>

dados que não foi encontrado nada

<%

Else

Objetivo.AbsolutePage = atual_page

Do While not Objetivo.EOF And Objetivo.AbsolutePage = atual_page

END If

%>

dados do loop

<%

Objetivo.MoveNext

Loop

%>

este ai foi um exemplo de uso correto da coisa, porem podemos fazer de acordo com nossa vontade, mas está regra é real, se burlar a coisa pode se complicar ou funcionar incoretamente.

espero ter ajudado, mas pelo que você disse é caso de loop sim, está muito lento ele e mau definido ai acontece isto é batata isto, ai se você re-formular o seu loop ele vai pedir tudo direitinho.

espero ter ajudado.

Share this post


Link to post
Share on other sites
  • 0

Pois é, no script nem loop tem, somente next, veja como esta a parte que citou.

<table width=98% bordercolor="#a4cdee" border=1 cellpadding="2" cellspacing="0">

<%

x = 0

for x = 1 to rs.pagesize

if rs.eof then

exit for

else

iContador=iContador + 1

Id = rs("Id")

Iota = rs("Iota")

Nome = rs("Nome")

Prefixo = rs("Prefixo")

EndDate = rs("EndDate")

%>

<tr valign=center align=left>

<td<%Response.write RS("19mts")%>&nbsp;</td>

<% rs.MoveNext

if iContador = 1 then

iContador =0

%>

<%

else

%>

<%

end if

end if

next

%>

</tr>

</table>

Share this post


Link to post
Share on other sites
  • 0

Acho que descobri,

Não sei o motivo, mas quando se coloca números na variável para imprimir na tela, ele não funciona, foi somente alterar para letras que deu certo, ou seja onde estava:

19mts = rs("19mts")

passei para:

Frequencia = rs("Frequencia")

Inclusive na coluna do BD e ai funcionou conforme o pedido. acredito que não se pode usar números, e somente letras.

Obrigado a todos que quebraram a cabeça tentando achar o problema.

Podem fechar este tópico

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this