我有一个sql查询,用id对行进行排序,但是在经典的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
答案 0 :(得分:3)
我的同伴StackOverflowers,让我对OPs背景进行理论化。它是在黑暗中拍摄的,有一点点经验。考虑这个数据结构:
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 :(得分:1)
想通了。但不确定它为什么会起作用。我打开了
< td >
我永远不会在循环中关闭的标签。为什么这会导致订单被取消?