去泰国坐飞机注意事项:ASP+ACCESS 热门下载排序问题~~

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 05:50:57
<%
set down=conn.execute("select top 10 * from download order by hits desc,time desc,id desc ")
do while not down.eof
%>
<%
name=down("name")
if len(name)>14 then
name=left(name,14) & "…"
response.write name
else
response.write name
end if
%><br>
<%
down.movenext
loop
down.close
set down=nothing
%>

代码如上对热门下载进行前10位的排序
即对“hits”字段(点击数)进行从大到小的排序
问题出来了
如果有以下几个数字
9 5 7 50 2
正确的顺序应为 50 9 7 5 2
可是上面那个代码显示的却为 9 7 50 5 2
好像把50识别成5了
为何会这样呢?
代码有问题还是ACCESS数据有问题
请帮帮我这个菜鸟哈~~~~
在知道里找到类似的问题了
原来还是数据库的取值问题
取成整型问题就解决了
呵呵

现在另一个问题就是这句代码:
<%
name=down("name")
if len(name)>14 then
name=left(name,14) & "…"
response.write name
else
response.write name
end if
%>

有个明显的不足
就是如果"name"中有数字或是英文
它会把一个数字或是英文识别成一个汉字
但我们知道 1汉字=2英文或2数字
所以有以下代码

function gotTopic(str,strlen)
dim l,t,c,i
l=len(str)
t=0
for i=1 to l
c=Abs(Asc(Mid(str,i,1)))
if c>255 then
t=t+2
else
t=t+1
end if
if t>=strlen then
gotTopic=left(str,i)&"..."
exit for
else
gotTopic=str&" "
end if
next
end function
name=down("name")

response.write gotTopic(name,28)
end if

但是我把那个代码加进去后
报错
function gotTopic(str,strlen) 语法报错
函数调用错误还是函数本身有错?
这段代码到底应当如何更改?
谢谢啦~~~~~~~~~

具体错误信息是什么?