SQL порядок не работает в классическом цикле ASP - PullRequest
0 голосов
/ 23 сентября 2011

У меня есть SQL-запрос, который упорядочивает строки по идентификатору, однако он не выводит данные по порядку в классическом asp:

sSQL = "SELECT * FROM a ORDER BY ID DESC"
Set RS = ConnStr.Execute(sSQL)

<% DO WHILE NOT RS.EOF %> <td>
<br><p class='h1'>
<%=RS("ID")%>-
<%=RS("Title")%></p>
<% RS.MoveNext

Loop %> 

База данных:

ID  Title
1    car
2    tree
3    dog

неверный вывод asp:

ID 
2
3
1

Ответы [ 2 ]

3 голосов
/ 23 сентября 2011

Мои коллеги по StackOverflowers, позвольте мне теоретизировать контекст OP.Это выстрел в темноте, с небольшим опытом.Рассмотрим следующую структуру данных:

declare  @mytable table (ID varchar(5))

insert into @mytable (ID) values
(' 1'), ('2'), (' 3')

select * from @mytable
order by ID desc

Обратите внимание на пробелы перед 1 и 3. Результат:

ID
2
 3
 1

Поскольку браузер не визуализирует пустые пробелы, OP может их не видеть, но они могут быть там в HTML.

Это единственный способ, которым я могу придумать, где ORDER BY <field> DESC "явно потерпит неудачу".

1 голос
/ 23 сентября 2011

разобрался.Но не уверен, почему это работает.У меня был открытый тег

< td >

, который я никогда не закрывал в цикле.Почему это вызвало бы отключение заказа?

...