作者:不详 上传日期:2008-01-02
讲解:
1、请注意一下这句话:sqlprom = "select top 9
NewsId,NewsTitle,PubDate from News where newsclass='网站动态'and
online=true and date()<OffDate and date()>=PubDate order by
Pubdate desc"
(1)相比于标(2)准的查询语句而(3)言,(4)明显的这句代码是太
长了。中间也出现了许多的and 。其实这个的意思是说要两个条件同
(5)时成立。(条件1 and 条件2,(6)这样,(7)只有1和2 两个条
件同(8)时为真时,(9)才能为真。)
(10)order by Pubdate desc是按Pubdate的降序排列。
(11)select top 9 中的“top 9”是说明按降序排列后的前9个拿出来
排,而(12)其它的则不(13)排出来。当然了相对于这一点,(14)我
们如果要全部排出来的话,(15)那只要把这个“top 9”改成“*”就可
以了。
2、%if rsnews.eof and rsnews.bof then
response.write "<tr><td height=50 align=center>最近没有促销信
息</td></tr>"
else
Do while Not rsnews.eof%>
这一段的代码也是十分重要的.其中的前半部分是说当数据库为空时,则直
接写出“最近没有促销信息”的消息。而如果不为空时,则开始循环,直
到数据为空。
3、<%rsnews.movenext
loop
end if
set rsnews=nothing%>
这一段以前面第2点形成相互对应,如果没了这一点,那么写网页的时候
就会报错,也读不出来,或者也只能读到一条信息。其中的
“.movenext”是将指针移到下一个游标。“loop”是再进行读取。最后
的“set rsnews=nothing”是将renews释放。如果不释放将影响网页的显
示速度。
4、由于此句的存在:
<a href="news_detail.asp?NewsId=<%=Cstr(rsnews("NewsId"))%>"
target="_blank">就造就了一个链接的存在了。当点击此新闻的时候,系
统就会将生成一个新的页面来显示你所选中的新闻的内容。它传递的
是<%=Cstr(rsnews("NewsId"))%>,即这条新闻的ID。
(11)显示新闻的模块,(12)其代码为:
(命名(13)为:news_detail.asp)
<!--#include file="Comm/conn.asp"-->
<HTML><HEAD>
<TITLE>网站新闻-<%=sitename%>-<%=siteurl%></TITLE>
</HEAD>
<bodytext="#000000" leftmargin="0" topmargin="0" marginwidth="0"
marginheight="0" >
<TABLE cellSpacing=0 cellPadding=1 width=780 align=center
bgColor=#000000 border=0>
<TBODY>
<TR>
<TD class=p bgColor=#ffffff
height=28>
<TABLE cellSpacing=0 cellPadding=0 width=700 align=center
border=0>
<TBODY>
<TR> <TD colSpan=2> </TD>
</TR>
<%
set rs=Server.CreateObject("ADODB.RecordSet")
sql= "select * from News where online=true and Pubdate<= date()
and OffDate> date() and NewsId="&request("NewsId")
rs.open sql,conn,1,1
if rs.bof and rs.eof then
%>
<TR>
<TD colSpan=2 height=350 align=center>对不起,文章内容不存在,或
者已经过期!</TD>
</TR>
<%
else
NewsContain= rs("NewsContain")
if NewsContain<>"" then NewsContain=Autolink(NewsContain)
%>
<TR align=center>
<TD class=a colSpan=2><B><FONT
color=#ff6600><%=rs("NewsTitle")%></FONT></B></TD>
</TR>
<TR>
<TD width=321 height=2> </TD>
<TD class=f align=left width=313 height=2><FONT color=#448697>来
源:<%=rs("Source")%> | 日期:<%=rs("PubDate")%> </FONT></TD>
</TR>
<TR bgcolor="#CCCCCC">
<TD colspan=2 height=1></TD>
</tr>
</TBODY>
</TABLE>
</TD>
</TR>
<TR>
<TD vAlign=top bgColor=#ffffff>
<TABLE cellSpacing=0 cellPadding=0 width=690 align=center
border=0>
<TBODY><TR>
<TD class=p vAlign=top height=300 ><BR>
<%=NewsContain%></TD></TR>
</TBODY>
</TABLE>
</TD>
</TR>
<%end if%>
<TR>
<TD align=center height=35 bgcolor="#ffffff"><A
href="javascript :window.close()"><font color="#000000">[ 关 闭
]</font></A></TD>
</TR> </TBODY>
</TABLE>
</BODY></HTML>
讲解:
1、sql= "select * from News where online=true and Pubdate<=
date() and OffDate> date() and NewsId="&request("NewsId")这一句
话中的” request("NewsId")”是最不2、可少的。它的主要功能是取得
重前一页传过来的ID号。如果少了这个ID号,3、那么所有的显示工作都
不4、可以正常工作了。同5、时request这个是内置对象,6、要使用此也
是不7、要安装的。系统会自动安装。
8、rs.open sql,conn,1,1 的最后一个“1”表示只读,9、不10、对数据
进行任何的修改,11、也不12、可能进行修改。要是为3时才能进行插入
与删除操作。
13、<%=rs("Source")%>这句代码是说明,14、读取此时游标15、上的这
条记录的Source的字段的值。当“<%=”等价于“<% Response.write”。
但是只有当“<%”直接与“Response.write”相连时,16、才能把
“Response.write”用“=”号来代替。其它情况都不17、可以。
(14)上面的这两步相应的完成了数据的写入与读出的操作。同(15)时
也有必要说一下session。常常对一个页面的权限判断就用这个了。如先
定义一下session(“ll”)=””g于首页。那可以在要判断的页面的开头
加上如下代码:
<%
if session(“ll”)=”” then
Response.Redirect("index.asp")
End if%>
这样,如果没有经过特别的页面,此页面人们就进不来.当他人要强行进入
时,就会将它转向index.asp的页面中,从而达到保护数据的目的。
结论:经过对网站的分析与研究,其实动态网站比静态网站就多了一个数
据库,也相应多了对数据库上数据的操作。而数据的操作可谓是万变不离
其宗,除了读出就只剩下了写入。但不可否认的是,有了数据库的支持,
动态网站的功能的的确确是变大了好多。也因为有了数据库的支持,网站
的互动性最终得于轻松实现了,为互联网事业提供了强而有力的动力。
共 3 页 1 2 [3] 返回首页