首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

怎么优化这代码,希望大家帮帮小女孩,因为刚刚入这行

2012-03-18 
如何优化这代码,希望大家帮帮小女孩,因为刚刚入这行!数据库news有四个字段顺序主id,sname,sdate,stypetab

如何优化这代码,希望大家帮帮小女孩,因为刚刚入这行!
数据库news有四个字段顺序主id,sname,sdate,stype

<table   >
<%
sql= "SELECT   id,sname,sdate   FROM   news   where   stype= '新闻类别1 '   order   by   id   desc "
set   rs=server.createobject( "adodb.recordset ")
rs.open   sql,conn,1,1
  if   rs.eof   then
        response.Write( " <center> <br> <br> 暂时还没有相关内容! </center> ")
  else
    do   while   not   rs.eof
%>
  <tr> <td> <a   href= "one.asp?id= <%=rs( "id ")%> "   > <%=trim(rs( "sName "))%> </a>   <%=trim(rs( "sdate "))%> </td> </tr>
<%  
    rs.movenext
    loop
  end   if
rs.close
set   rs=nothing
%>
</table>

<table   >
<%
sql= "SELECT   id,sname,sdate   FROM   news   where   stype= '新闻类别2 '   order   by   id   desc "
set   rs=server.createobject( "adodb.recordset ")
rs.open   sql,conn,1,1
  if   rs.eof   then
        response.Write( " <center> <br> <br> 暂时还没有相关内容! </center> ")
  else
    do   while   not   rs.eof
  %>
  <tr> <td> <a   href= "one.asp?id= <%=rs( "id ")%> "   > <%=trim(rs( "sName "))%> </a>   <%=trim(rs( "sdate "))%> </td> </tr>
<%  
  rs.movenext
    loop
  end   if
rs.close
set   rs=nothing
%>
</table>

在网站站首页时,多处有这种程序代码出现,所以页面很慢,如何优化这代码!  

问题是 "就是如何写,才让页面打开快一点 "

包括如何用dim   定义.希望大家帮帮小女孩,因为刚刚入这行!  


[解决办法]
<%
Dim sql,rs
Set rs = server.createobject( "adodb.recordset ")
%>
<table >
<%
sql= "SELECT id,sname,sdate FROM news where stype= '新闻类别1 ' order by id desc "
rs.open sql,conn,1,1
if rs.eof then
response.Write( " <center> <br> <br> 暂时还没有相关内容! </center> ")
else
do while not rs.eof
%>
<tr> <td> <a href= "one.asp?id= <%=rs( "id ")%> " > <%=trim(rs( "sName "))%> </a> <%=trim(rs( "sdate "))%> </td> </tr>
<%
rs.movenext
loop
end if
rs.close
%>
</table>

<table >
<%
sql= "SELECT id,sname,sdate FROM news where stype= '新闻类别2 ' order by id desc "
rs.open sql,conn,1,1
if rs.eof then
response.Write( " <center> <br> <br> 暂时还没有相关内容! </center> ")
else
do while not rs.eof
%>
<tr> <td> <a href= "one.asp?id= <%=rs( "id ")%> " > <%=trim(rs( "sName "))%> </a> <%=trim(rs( "sdate "))%> </td> </tr>
<%
rs.movenext
loop
end if
rs.close
%>
</table>

<%
set rs = nothing
%>
------解决方案--------------------


用函数的方式来做:将两部分公有的部分提出来,不同的部分以参数的方式传入,之后调用即可
[解决办法]
接点分
[解决办法]
使用函数方法,规范代码

Call ShowData( "新闻类别1 ")
Call ShowData( "新闻类别2 ")

Sub ShowData(NewsType)
Dim Sql,Rs
Response.Write " <table> "
Sql= "SELECT id,sname,sdate FROM news where stype= ' "& NewsType & " ' order by id desc "
Set Rs=Conn.Execute(Sql)
If Rs.Eof Or Rs.Bof Then
Response.Write " <center> <br/> <br/> 暂时还没有相关内容! </center> "
Else
Do While Not Rs.Eof
Response.Write " <tr> <td> <a href= " "one.asp?id= "& rs( "id ") & " " "> "& Trim(Rs( "sName ")) & " </a> "& Trim(Rs( "sdate ")) & " </td> </tr> "
Rs.MoveNext
Loop
End If
Rs.Close : Set Rs=Nothing
Response.Write " </table> "
End Sub


这样还不是最优的,最好根据你的实际情况把数据库查询合并
你上面的定义基本没有必要,无法提高程序效率,当然也不能说是减慢,完全看个人爱好

PS:赶明儿做变性去,女孩子帮忙的人到底多
[解决办法]
把结果缓存到数组中.每次调用时,直接从数组中调.而不是每次去查数据库.
[解决办法]
用函数方法会快些,用div+css要比用table快
[解决办法]
- -!被人抢先了~救美不成~闪~

热点排行