使用ASP方便的建立自己网站的每日更新
每日更新是什么东东我想大家也都应该知道把,
其实有点象现在很多新闻网站的更新,下面介绍如何让你的
网站的内容每天自动更新
下面的代码适用于:
1.使用任何ODBC兼容的数据库
2。很方便的插入到你现有的ASP程序中
如何保存更新内容呢?
数据库结构:(一共三个字段)
QuoteID(Long ),Quote(String ),Author(String)
下面一个技巧是如何让更新显示在任意一个页面上呢?
我们只要把更新内容和作者当返回值送给调用的页面即可。
代码如下,其中logic是一个随机数,表示随机从数据库中显示哪个记录:
1
2Sub GetQuote(byVal strQuote, byval strAuthor)
3Dim intMaxID
4Dim intRecordID
5dim strSQL
6Dim oConn
7Dim oRS
8
9set oConn = Server.CreateObject("ADODB.Connection")
10oConn.Open "Database=mydb;DSN=Quotes;UID=sa;Password=;"
11
12strSQL = "SELECT MaxID=max(QuoteId) from Quotes"
13Set oRS = oConn.Execute(strSQL)
14If oRS.EOF Then
15strQuote = "站长太懒了,今天没有更新内容."
16strAuthor = "呵呵"
17Exit Sub
18Else
19intMaxID = oRS("MaxID")
20End If
21
22Randomize
23intRecordID= Int(Rnd * intMaxID) + 1
24strSQL = "Select * from quotes where QuoteID=" & intRecordID & ";"
25Set oRS = oConn.Execute(strSQL)
26If oRS.EOF Then
27strQuote = "站长太懒了,今天没有更新内容."
28strAuthor = "呵呵"
29Exit Sub
30Else
31oRS.MoveFirst
32strQuote = oRS("Quote")
33strAuthor = oRS("Author")
34End If
35
36oRS.Close
37oConn.Close
38Set oRS = Nothing
39set oConn = Nothing
40End Sub
其实在程序中如果使用一个嵌套的SQL能够提高性能,例如这样
Select * from Quotes where QuoteID = (Select int ( RND * Max(QuoteID) ) from Quotes );
可是问题是有些数据库的随机数函数是RAND而不是RND,
如果要是你自己用的话,那当然可以使用这句话代替我上面介绍的方法,
可别忘了,要是别人的数据库不支持RAND怎么办,呵呵。
再说了,现在是在讲ASP技术,而不是在讲SQL技术,呵呵。
现在我们将上面的代码保存到一个名叫quotes.inc的文件中来,
下面就举一个如何调用它的例子把:
1<html>
2<head>
3<title>例子</title>
4<!--#include virtual = "quotes.inc" -->
5</head>
6<body>
7<br/><br/>
Dim strQuote
Dim strAuthor
GetQuote(strQuote, strAuthor)
1<table bgcolor="#000000" border="0" cellpadding="6" cellspacing="5" width="500">
2<tr bgcolor="#CCCCCC">
3<td align="CENTER">
4<b>"```
5 =strQuote
6```" <br/>\--<i>```
7 =strAuthor
8```</i></b>
9</td>
10</tr>
11</table>
12<br/><br/>
13</body>
14</html>
其实你可以再加强点它的功能:
1.可以在子过程中给返回的字符串带上格式,这样显示会更加漂亮
2。将这个代码做成一个组件来调用
3。使用一个文本文件来代替数据库
4。将SQL放到存储过程中去