使用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放到存儲過程中去(出處:熱點網絡)
|