ASP,我们又见面了:)

最近由于工作需要,有些涉及ASP的程序需处理,回想起来已经有大半年没碰她了,但对于ASP的这份感情,我一辈子都不会忘记,因为是她帮我敲开IT之门,把我带入充满挑战和激情而又神奇的程序世界。

可能是太久没跟ASP说HELLO,一上来就给我来了个“下马威”,我用了一段很普通的数据集查询加循环来取出一级导航菜单,如下:


<div>
	<ul>
<% dim sqlRoot,rsRoot,j
	sqlRoot="select ClassID,ClassName,Depth,NextID,LinkUrl,Child,Readme From MenuClass"
	sqlRoot= sqlRoot & "where Depth=0 and ShowOnTop=True order by RootID"
	Set rsRoot=Server.CreateObject("ADODB.Recordset")
	rsRoot.open sqlRoot,conn,1,1
	j=1
	do while not rsRoot.eof
%>
              <li>
              	<a href="<%=rsRoot("LinkUrl")%>" id="nav_<%=j%>" target="_self"><%=rsRoot("ClassName")%></a> 
              </li>   
<% rsRoot.movenext
	j=j+1
	loop
	rsRoot.close
	set rsRoot=nothing
%>
	</ul>
</div>

另我大感意外的是,这段普通的怎么看也没error的code,竟然运行后,在浏览器页面开始处于无任何内容显示状态,过几十秒的

漫长等待后却抛出个“超时”的说法。一开始我以为代码有问题,反复排查,那真是上下左右全查遍了,还是没发现什么,真让偶

无语……. 后来我就看这段code中有没有语句可以换其它方式写的,于是我把其中的两句SQL:


sqlRoot="select ClassID,ClassName,Depth,NextID,LinkUrl,Child,Readme From MenuClass"
sqlRoot= sqlRoot & "where Depth=0 and ShowOnTop=True order by RootID"

换成一句,没有取特定字段,而是直接让它输出5条。


sqlRooter="select top 5 * From MenuClass where Depth=0 and ShowOnTop=True order by RootID"

结果,结果正常输出显示,哇,原来问题在SQL上。于是,我把那段换成:


<div>
	<ul>
<% dim sqlRoot,rsRoot,j
	sqlRoot="select ClassID,ClassName,Depth,NextID,LinkUrl,Child,Readme From MenuClass where Depth=0 and ShowOnTop=True order by RootID"
	Set rsRoot=Server.CreateObject("ADODB.Recordset")
	rsRoot.open sqlRoot,conn,1,1
	j=1
	do while not rsRoot.eof
%>
              <li>
              	<a href="<%=rsRoot("LinkUrl")%>" id="nav_<%=j%>" target="_self"><%=rsRoot("ClassName")%></a> 
              </li>   
<% rsRoot.movenext
	j=j+1
	loop
	rsRoot.close
	set rsRoot=nothing
%>
	</ul>
</div>

OK,Bug解除,ASP,我又来了:)

Tags: , , ,       固定链接:http://sychen.org/?p=276



4 Comments to “ASP,我们又见面了:)”

  1. 无聊 says:

    放弃asp N久,因服务器全是linux架构

  2. sychen says:

    现在服务器用linux的确实多,搞后端开发,还是以PHP为主.

  3. Lin.x says:

    话说,我写的第一份web动态程序就是asp的.
    第一次读写数据库那种兴奋的感觉很难忘.

  4. sychen says:

    记得我当时第一次读写数据库的兴奋感已超越比赛进球儿了,呵呵~

Leave a Reply