用ASP創(chuàng)建自己網(wǎng)站的每日更新
發(fā)表時(shí)間:2023-08-23 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]使用ASP方便的建立自己網(wǎng)站的每日更新 每日更新是什么東東我想大家也都應(yīng)該知道把, 其實(shí)有點(diǎn)象現(xiàn)在很多新聞網(wǎng)站的更新,下面介紹如何讓你的 網(wǎng)站的內(nèi)容每天自動(dòng)更新 下面的代碼適用于: 1.使用任何OD...
使用ASP方便的建立自己網(wǎng)站的每日更新
每日更新是什么東東我想大家也都應(yīng)該知道把,
其實(shí)有點(diǎn)象現(xiàn)在很多新聞網(wǎng)站的更新,下面介紹如何讓你的
網(wǎng)站的內(nèi)容每天自動(dòng)更新
下面的代碼適用于:
1.使用任何ODBC兼容的數(shù)據(jù)庫(kù)
2。很方便的插入到你現(xiàn)有的ASP程序中
如何保存更新內(nèi)容呢?
數(shù)據(jù)庫(kù)結(jié)構(gòu):(一共三個(gè)字段)
QuoteID(Long ),Quote(String ),Author(String)
下面一個(gè)技巧是如何讓更新顯示在任意一個(gè)頁(yè)面上呢?
我們只要把更新內(nèi)容和作者當(dāng)返回值送給調(diào)用的頁(yè)面即可。
代碼如下,其中l(wèi)ogic是一個(gè)隨機(jī)數(shù),表示隨機(jī)從數(shù)據(jù)庫(kù)中顯示哪個(gè)記錄:
<%
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 = "站長(zhǎng)太懶了,今天沒(méi)有更新內(nèi)容."
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 = "站長(zhǎng)太懶了,今天沒(méi)有更新內(nèi)容."
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
%>
其實(shí)在程序中如果使用一個(gè)嵌套的SQL能夠提高性能,例如這樣
Select * from Quotes where QuoteID = (Select int ( RND * Max(QuoteID) ) from Quotes );
可是問(wèn)題是有些數(shù)據(jù)庫(kù)的隨機(jī)數(shù)函數(shù)是RAND而不是RND,
如果要是你自己用的話,那當(dāng)然可以使用這句話代替我上面介紹的方法,
可別忘了,要是別人的數(shù)據(jù)庫(kù)不支持RAND怎么辦,呵呵。
再說(shuō)了,現(xiàn)在是在講ASP技術(shù),而不是在講SQL技術(shù),呵呵。
現(xiàn)在我們將上面的代碼保存到一個(gè)名叫quotes.inc的文件中來(lái),
下面就舉一個(gè)如何調(diào)用它的例子把:
<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>
其實(shí)你可以再加強(qiáng)點(diǎn)它的功能:
1.可以在子過(guò)程中給返回的字符串帶上格式,這樣顯示會(huì)更加漂亮
2。將這個(gè)代碼做成一個(gè)組件來(lái)調(diào)用
3。使用一個(gè)文本文件來(lái)代替數(shù)據(jù)庫(kù)
4。將SQL放到存儲(chǔ)過(guò)程中去