程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> asp讀取數據庫內容並生成靜態頁面

asp讀取數據庫內容並生成靜態頁面

編輯:ASP技巧

這裡是ASP讀取數據庫內容並生成靜態頁面,這裡這個生成靜態頁面的函數可通用
數據庫結構:
id(自動編號) 
標題 title(文本)
內容 content(備注) 
添加時間 addtime(時間) 這裡用來做靜態頁面的文件名


'連接數據庫文件
conn.ASP
< %
DB="database/database.mdb"
path=Server.MapPath(DB)
set conn=server.createobject("adodb.Connection")
connstr="provider=Microsoft.Jet.OLEDB.4.0;Data Source="&path
conn.Open connstr
Set rs=server.CreateObject("adodb.recordset")
% >

'動態頁面
news.ASP

< !-- #include file="conn.ASP" -- >
< %
    id=request("id")
 sql="select * from news where id="&id
 rs.open sql,conn,1,1
 If rs.eof Then
 Else
     title=rs("title")
  content=rs("content")
 End If
 rs.close

% >
<style>
body td {font-size:12px;}
</style>
  <TITLE> < %=title% > </TITLE>
     <TABLE border="0" cellpadding="0" cellspacing="0" width="500">
    <TR>
  <TD >< %=title% ></TD>
    </TR>
    <TR>
  <TD align="center"><div >< %=content% ></div></TD>
    </TR>
 </TABLE>

'生成靜態頁面代碼
createHtml.ASP

< !-- #include file="conn.ASP" -- >
< %
  sql="select * from news"
  rs.open sql,conn,1,1
  If rs.eof Then
  Else   
    path5="./Html/" '這個為生成後文件路徑
    Do While Not rs.eof 
      filename=Replace(Replace(Replace(rs("addtime"),":",""),"-","")," ","")&".Html" '這個為生成後的文件名
   url="http://localhost/netfrIEnd/news.asp?id="&rs("id")   '這個為動態頁面地址,必須是http://****.ASP格式的
   Call createHtml(url,filename,path5)
 rs.movenext
 loop
  End If
  rs.close
  Set rs=Nothing
  Set conn=nothing

  '功能:讀取數據庫內容,生成靜態頁面
  '來自:www.ASPprogram.cn
  '作者:wangsdong
  '參數說明:
  ' url是動態頁面的地址,必須是http://*****/**.ASP格式
  ' filename為生成後的文件名
  ' path為存儲生成後文件的文件夾名
  '備注:支持原創程序,請保留此信息,謝謝

Function createHtml(url,filename,path) 
Set MyFileObject=Server.CreateObject("Scripting.FileSystemObject")
path1=server.mappath(path)&"\"&filename
Set MyTextFile=MyFileObject.CreateTextFile(path1)
strurl=url   
strTmp = GetHTTPPage(trim(strurl))
MyTextFile.WriteLine(strTmp)
MytextFile.Close
response.write "生成"&filename&"成功<br>"
Set MyFileObject=nothing
End function

Function getHTTPPage(url) 
 On Error Resume Next
 dim http 
 set http=Server.createobject("Microsoft.XMLHTTP") 
 Http.open "GET",url,false 
 Http.send() 
 if Http.readystate<>4 then
  exit function 
 end if 
 getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
 set http=nothing
 If Err.number<>0 then 
  Response.Write "<p align='center'><font color='red'><b>服務器獲取文件內容出錯</b></font></p>" 
  Err.Clear
 End If  
End Function

Function BytesToBstr(body,Cset)
 dim obJStream
 set obJStream = Server.CreateObject("adodb.stream")
 obJStream.Type = 1
 obJStream.Mode =3
 obJStream.Open
 obJStream.Write body
 obJStream.Position = 0
 obJStream.Type = 2
 obJStream.Charset = Cset
 BytesToBstr = obJStream.ReadText 
 obJStream.Close
 set obJStream = nothing
End Function
% >
已經搞定,現在就可以運行這個createHtml.ASP文件了,如果不成功,注意一下動態頁面的地址,根據IIS進行更換

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved