动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   Asp → 阅读文章

 使用ASP方便的建立自己网站的每日更新

作者来源: 
阅读 1052 人次 , 2006-4-18 3:39:00 


  使用ASP方便的建立自己网站的每日更新
每日更新是什么东东我想大家也都应该知道把,
其实有点象现在很多新闻网站的更新,下面介绍如何让你的
网站的内容每天自动更新
下面的代码适用于:
1.使用任何ODBC兼容的数据库
2。很方便的插入到你现有的ASP程序中
如何保存更新内容呢?
数据库结构:(一共三个字段)
QuoteID(Long ),Quote(String ),Author(String)
下面一个技巧是如何让更新显示在任意一个页面上呢?
我们只要把更新内容和作者当返回值送给调用的页面即可。
代码如下,其中logic是一个随机数,表示随机从数据库中显示哪个记录:
              <%
              Sub GetQuote(byVal strQuote, byval strAuthor)
                        Dim intMaxID   
                        Dim intRecordID
                        dim strSQL   
                        Dim oConn   
                        Dim oRS     

                           set oConn = Server.CreateObject("ADODB.Connection")
                           oConn.Open "Database=mydb;DSN=Quotes;UID=sa;Password=;"

                           strSQL = "SELECT MaxID=max(QuoteId) from Quotes"
                           Set oRS = oConn.Execute(strSQL)
                           If oRS.EOF Then
                              strQuote = "站长太懒了,今天没有更新内容."
                              strAuthor = "呵呵"
                              Exit Sub
                           Else
                              intMaxID = oRS("MaxID")
                           End If

                           Randomize
                           intRecordID= Int(Rnd * intMaxID) + 1
                           strSQL = "Select * from quotes where QuoteID=" & intRecordID & ";"
                           Set oRS = oConn.Execute(strSQL)
                           If oRS.EOF Then
                              strQuote = "站长太懒了,今天没有更新内容."
                              strAuthor = "呵呵"
                              Exit Sub
                           Else
                              oRS.MoveFirst
                              strQuote = oRS("Quote")
                              strAuthor = oRS("Author")
                           End If

                           oRS.Close
                           oConn.Close
                           Set oRS = Nothing
                           set oConn = Nothing
                        End Sub
                        %>

其实在程序中如果使用一个嵌套的SQL能够提高性能,例如这样
Select * from Quotes where QuoteID = (Select int ( RND * Max(QuoteID) ) from Quotes );
可是问题是有些数据库的随机数函数是RAND而不是RND,
如果要是你自己用的话,那当然可以使用这句话代替我上面介绍的方法,
可别忘了,要是别人的数据库不支持RAND怎么办,呵呵。
再说了,现在是在讲ASP技术,而不是在讲SQL技术,呵呵。
现在我们将上面的代码保存到一个名叫quotes.inc的文件中来,
下面就举一个如何调用它的例子把:
                        <HTML>
                        <HEAD>
                        <TITLE>例子</TITLE>
                        <!--#include virtual = "quotes.inc" -->
                        </HEAD>
                        <BODY>
                        <BR><BR>
                        <%
                           Dim strQuote
                           Dim strAuthor
                           GetQuote(strQuote, strAuthor)
                        %>
                        <TABLE BORDER=0 CELLPADDING=6 CELLSPACING=5 BGCOLOR="#000000" WIDTH=500>
                        <TR BGCOLOR="#CCCCCC">
                           <TD ALIGN=CENTER>
                              <B>"<% =strQuote %>" <BR>--<I><% =strAuthor %></I></B>
                           </TD>
                        </TR>
                        </TABLE>
                        <BR><BR>
                        </BODY>
                        </HTML>
其实你可以再加强点它的功能:
1.可以在子过程中给返回的字符串带上格式,这样显示会更加漂亮
2。将这个代码做成一个组件来调用
3。使用一个文本文件来代替数据库
4。将SQL放到存储过程中去   
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:中文虚拟域名实现(1) (环境:中文NT)
· 下一篇:复杂表单的动态生成与动态验证
· 用ASP构建你的网站新闻发布(一)
· 一个防止外部数据提交的脚本[转帖]
· ASP技巧TOP 10(转)
· VBScript Length 属性
· 微软建议的ASP性能优化28条守则(4)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077