国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁(yè) > 編程 > ASP > 正文

asp xml 緩存類

2024-05-04 11:09:03
字體:
供稿:網(wǎng)友
本類部分借鑒 walkmanxml數(shù)據(jù)緩存類,使用更為方便 歡迎各位交流進(jìn)步
 
 
 
復(fù)制代碼代碼如下:

<% 
Rem xml緩存類 
'-------------------------------------------------------------------- 
'轉(zhuǎn)載的時(shí)候請(qǐng)保留版權(quán)信息 
'作者:╰⑥月の雨╮ 
'版本:ver1.0 
'本類部分借鑒 walkmanxml數(shù)據(jù)緩存類,使用更為方便 歡迎各位交流進(jìn)步 
'-------------------------------------------------------------------- 
Class XmlCacheCls 
Private m_DataConn '數(shù)據(jù)源,必須已經(jīng)打開 
Private m_CacheTime '緩存時(shí)間,單位秒 默認(rèn)10分鐘 
Private m_XmlFile 'xml路徑,用絕對(duì)地址,不需要加擴(kuò)展名 
Private m_Sql 'SQL語(yǔ)句 
Private m_SQLArr '(只讀)返回的數(shù)據(jù)數(shù)組 
Private m_ReadOn '(只讀)返回讀取方式 1-數(shù)據(jù)庫(kù) 2-xml 檢測(cè)用 

'類的屬性========================================= 

'數(shù)據(jù)源 
Public Property Set Conn(v) 
Set m_DataConn = v 
End Property 
Public Property Get Conn 
Conn = m_DataConn 
End Property 

'緩存時(shí)間 
Public Property Let CacheTime(v) 
m_CacheTime = v 
End Property 
Public Property Get CacheTime 
CacheTime = m_CacheTime 
End Property 

'xml路徑,用絕對(duì)地址 
Public Property Let XmlFile(v) 
m_XmlFile = v 
End Property 
Public Property Get XmlFile 
XmlFile = m_XmlFile 
End Property 

'Sql語(yǔ)句 
Public Property Let Sql(v) 
m_Sql = v 
End Property 
Public Property Get Sql 
Sql = m_Sql 
End Property 
'返回記錄數(shù)組 
Public Property Get SQLArr 
SQLArr = m_SQLArr 
End Property 

'返回讀取方式 
Public Property Get ReadOn 
ReadOn = m_ReadOn 
End Property 

'類的析構(gòu)========================================= 

Private Sub Class_Initialize() '初始化類 
m_CacheTime=60*10 '默認(rèn)緩存時(shí)間為10分鐘 
End Sub 

Private Sub Class_Terminate() '釋放類 

End Sub 

'類的公共方法========================================= 

Rem 讀取數(shù)據(jù) 
Public Function ReadData 
If FSOExistsFile(m_XmlFile) Then '存在xml緩存,直接從xml中讀取 
ReadDataFromXml 
m_ReadOn=2 
Else 
ReadDataFromDB 
m_ReadOn=1 
End If 
End Function 

Rem 寫入XML數(shù)據(jù) 
Public Function WriteDataToXml 
If FSOExistsFile(m_XmlFile) Then '如果xml未過期則直接退出 
If Not isXmlCacheExpired(m_XmlFile,m_CacheTime) Then Exit Function 
End If 
Dim rs 
Dim xmlcontent 
Dim k 
xmlcontent = "" 
xmlcontent = xmlcontent & "<?xml version=""1.0"" encoding=""gb2312""?>" & vbnewline 
xmlcontent = xmlcontent & " <root>" & vbnewline 
k=0 
Set Rs = Server.CreateObject("Adodb.Recordset") 
Rs.open m_sql,m_DataConn,1 
While Not rs.eof 
xmlcontent = xmlcontent & " <item " 
For Each field In rs.Fields 
xmlcontent = xmlcontent & field.name & "=""" & XMLStringEnCode(field.value) & """ " 
Next 
rs.movenext 
k=k+1 
xmlcontent = xmlcontent & "></item>" & vbnewline 
Wend 
rs.close 
Set rs = Nothing 
xmlcontent = xmlcontent & " </root>" & vbnewline 

Dim folderpath 
folderpath = Trim(left(m_XmlFile,InstrRev(m_XmlFile,"/")-1)) 
Call CreateDIR(folderpath&"") '創(chuàng)建文件夾 
WriteStringToXMLFile m_XmlFile,xmlcontent 
End Function 

'類的私有方法========================================= 

Rem 從Xml文件讀取數(shù)據(jù) 
Private Function ReadDataFromXml 
Dim SQLARR() '數(shù)組 
Dim XmlDoc 'XmlDoc對(duì)象 
Dim objNode '子節(jié)點(diǎn) 
Dim ItemsLength '子節(jié)點(diǎn)的長(zhǎng)度 
Dim AttributesLength '子節(jié)點(diǎn)屬性的長(zhǎng)度 
Set XmlDoc=Server.CreateObject("Microsoft.XMLDOM") 
XmlDoc.Async=False 
XmlDoc.Load(m_XmlFile) 
Set objNode=XmlDoc.documentElement '獲取根節(jié)點(diǎn) 
ItemsLength=objNode.ChildNodes.length '獲取子節(jié)點(diǎn)的長(zhǎng)度 
For items_i=0 To ItemsLength-1 
AttributesLength=objNode.childNodes(items_i).Attributes.length '獲取子節(jié)點(diǎn)屬性的長(zhǎng)度 
For Attributes_i=0 To AttributesLength-1 
ReDim Preserve SQLARR(AttributesLength-1,items_i) 
SQLArr(Attributes_i,items_i) = objNode.childNodes(items_i).Attributes(Attributes_i).Nodevalue 
Next 
Next 
Set XmlDoc = Nothing 
m_SQLArr = SQLARR 
End Function 

Rem 從數(shù)據(jù)庫(kù)讀取數(shù)據(jù) 
Private Function ReadDataFromDB 
Dim rs 
Dim SQLARR() 
Dim k 
k=0 
Set Rs = Server.CreateObject("Adodb.Recordset") 
Rs.open m_sql,m_DataConn,1 
If Not (rs.eof and rs.bof) Then 
While Not rs.eof 
Dim fieldlegth 
fieldlegth = rs.Fields.count 
ReDim Preserve SQLARR(fieldlegth,k) 
Dim fieldi 
For fieldi = 0 To fieldlegth-1 
SQLArr(fieldi,k) = rs.Fields(fieldi).value 
Next 
rs.movenext 
k=k+1 
Wend 
End If 
rs.close 
Set rs = Nothing 
m_SQLArr = SQLArr 
End Function 

'類的輔助私有方法========================================= 

Rem 寫xml文件 
Private Sub WriteStringToXMLFile(filename,str) 
Dim fs,ts 
Set fs= createobject("scripting.filesystemobject") 
If Not IsObject(fs) Then Exit Sub 
Set ts=fs.OpenTextFile(filename,2,True) 
ts.writeline(str) 
ts.close 
Set ts=Nothing 
Set fs=Nothing 
End Sub 

Rem 判斷xml緩存是否到期 
Private Function isXmlCacheExpired(file,seconds) 
Dim filelasttime 
filelasttime = FSOGetFileLastModifiedTime(file) 
If DateAdd("s",seconds,filelasttime) < Now Then 
isXmlCacheExpired = True 
Else 
isXmlCacheExpired = False 
End If 
End Function 

Rem 得到文件的最后修改時(shí)間 
Private Function FSOGetFileLastModifiedTime(file) 
Dim fso,f,s 
Set fso=CreateObject("Scripting.FileSystemObject") 
Set f=fso.GetFile(file) 
FSOGetFileLastModifiedTime = f.DateLastModified 
Set f = Nothing 
Set fso = Nothing 
End Function 

Rem 文件是否存在 
Public Function FSOExistsFile(file) 
Dim fso 
Set fso = Server.CreateObject("Scripting.FileSystemObject") 
If fso.FileExists(file) Then 
FSOExistsFile = true 
Else 
FSOExistsFile = false 
End If 
Set fso = nothing 
End Function 

Rem xml轉(zhuǎn)義字符 
Private Function XMLStringEnCode(str) 
If str&"" = "" Then XMLStringEnCode="":Exit Function 
str = Replace(str,"<","<") 
str = Replace(str,">",">") 
str = Replace(str,"'","'") 
str = Replace(str,"""",""") 
str = Replace(str,"&","&") 
XMLStringEnCode = str 
End Function 

Rem 創(chuàng)建文件夾 
Private function CreateDIR(byval LocalPath) 
On Error Resume Next 
Dim i,FileObject,patharr,path_level,pathtmp,cpath 
LocalPath = Replace(LocalPath,"/","/") 
Set FileObject = server.createobject("Scripting.FileSystemObject") 
patharr = Split(LocalPath,"/") 
path_level = UBound (patharr) 
For i = 0 To path_level 
If i=0 Then 
pathtmp=patharr(0) & "/" 
Else 
pathtmp = pathtmp & patharr(i) & "/" 
End If 
cpath = left(pathtmp,len(pathtmp)-1) 
If Not FileObject.FolderExists(cpath) Then 
'Response.write cpath 
FileObject.CreateFolder cpath 
End If 
Next 
Set FileObject = Nothing 
If err.number<>0 Then 
CreateDIR = False 
err.Clear 
Else 
CreateDIR = True 
End If 
End Function 
End Class 
'設(shè)置緩存 
Function SetCache(xmlFilePath,CacheTime,Conn,Sql) 
set cache=new XmlCacheCls 
Set cache.Conn=Conn 
cache.XmlFile=xmlFilePath 
cache.Sql=Sql 
cache.CacheTime=CacheTime 
cache.WriteDataToXml 
Set cache = Nothing 
End Function 
'讀取緩存 
Function ReadCache(xmlFilePath,Conn,Sql,ByRef ReadOn) 
set cache=new XmlCacheCls 
Set cache.Conn=conn 
cache.XmlFile=xmlFilePath 
cache.Sql=Sql 
cache.ReadData 
ReadCache=cache.SQLArr 
ReadOn=cache.ReadOn 
End Function 
%> 

使用方法: 
1 緩存數(shù)據(jù)到xml 
代碼: 
復(fù)制代碼代碼如下:

<!--#include file="Conn.asp"--> 
<!--#include file="Xml.asp"--> 
<% 
set cache=new XmlCacheCls 
Set cache.Conn=conn 
cache.XmlFile=Server.Mappath("xmlcache/index/Top.xml") 
cache.Sql="select top 15 prod_id,prod_name,prod_uptime from tblProduction" 
cache.WriteDataToXml 
%> 

2 讀取緩存數(shù)據(jù) 
代碼: 
復(fù)制代碼代碼如下:

<!--#include file="Conn.asp"--> 
<!--#include file="Xml.asp"--> 
<% 
set cache=new XmlCacheCls 
Set cache.Conn=conn 
cache.XmlFile=Server.Mappath("xmlcache/index/Top.xml") 
cache.Sql="select top 15 prod_id,prod_name,prod_uptime from tblProduction order by prod_id asc" 
cache.ReadData 
rsArray=cache.SQLArr 
if isArray(rsArray) then 
for i=0 to ubound(rsArray,2) 
for j=0 to ubound(rsArray,1) 
response.Write(rsArray(j,i)&"<br><br>") 
next 
next 
end if 
%> 
緩存時(shí)間,單位秒 默認(rèn)10分鐘;也可以自己設(shè)定 cache.CacheTime=60*30 30分鐘

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
www.亚洲视频| 任你操视频在线观看| 国产超级va在线视频| 伊人中文在线| 国产午夜精品一区理论片| 免费女人毛片视频| 老司机在线视频二区| 日本成人免费网站| 天天操夜夜添| 国产深夜福利| 精品国内自产拍在线视频| 在线观看av网站永久| 黄色毛片在线看| www免费在线观看视频| 亚洲欧美自拍另类| 欧美韩日国产| 国产黄色在线网站| 国产在线一二三| www久久日com| 久久亚洲资源| 99re6在线视频精品免费| 免费女人毛片视频| 91最新在线| 成人超碰在线| www.麻豆av.com| 国产青青视频| 成在线人视频免费视频| 国产高清在线| www在线视频| 秋霞av在线| 欧美艹逼视频| 亚洲视频在线观看不卡| 国产天堂av| 国产午夜三区视频在线| 久久久久久久久久久久久91| 中文字幕久热在线精品| 好男人免费精品视频| 日本啊v在线| 亚洲国产成人综合| 国产95在线|亚洲| 国产精品剧情一区二区在线观看 | 中文字幕在线观看播放| a视频在线看| 午夜在线视频| 亚洲第一成年免费网站| av在线日韩国产精品| 轻轻色免费在线视频| h网站免费在线观看| 亚洲va国产日韩欧美精品色婷婷| 中文字幕毛片| 国产成人亚洲欧美电影| 亚洲最新永久观看在线| 亚洲欧美久久婷婷爱综合一区天堂 | 牛牛精品视频在线| 亚洲妇熟xxxx妇色黄| 永久免费av片在线观看全网站| 在线中文免费视频| 精品视频二区三区| 九七电影韩国女主播在线观看| 国产福利微拍精品一区二区| 在线视频99| 国内精品免费一区二区三区| 国产裸舞福利在线视频合集 | 综合蜜桃精品| 国产精品一品| 国产二区视频在线观看| www.色婷婷| 国产成免费视频| 青青草视频免费在线观看| 国产视频1区| 久久精品免视着国产成人| 天天操天天射天天插| 一区二区精品区| 亚洲欧美精品日韩欧美| 国产伦精品一区二区三区高清版禁 | 男人天堂v视频| 国产精品久久久精品a级小说| 91麻豆精品国产91久久| 日本啊v在线| 日韩av成人| 精品街拍一区二区| 牛牛热在线视频| 2019中文字幕在线视频| 国产九色视频| 精精国产xxxx视频在线动漫| 亚洲视频日韩| 国产精品99999| www.色五月| 影音先锋中文字幕在线| 国产精品bbw一区二区三区| 国产在线观看a| 香蕉视频网站在线观看| 精品一区二区观看| 亚洲wwwwww| 91三级在线| 开心婷婷激情| 国产黄色av免费看| 最新国产在线| 91超碰免费在线| 黄色毛片在线观看| 久久久久久久久免费视频| www.操操操| 日本在线天堂| 精品一区二区三区在线成人| 国产激情99| 国产精品视频一区麻豆| 国产精品免费视频二三区| 欧美精品日韩少妇| 欧美a免费在线| 丁香花在线电影| 天天av天天爽| 综合激情丁香| 国产精品蜜臀| 亚洲视频日韩| 国产国产人免费人成免费视频| 最新国产在线| 国产亚洲精品自在线观看| 国产小视频在线播放| 超碰免费在线播放| 懂色一区二区三区| 中文字幕av中文字幕| 国产精品186在线观看在线播放| 中文字幕在线观看日本| 精品国产美女福利到在线不卡| 91在线看片| 69堂视频在线观看国产| baoyu777.永久免费视频| av中文在线| 国产网红在线| 国产福利片在线| 在线免费观看你懂的| 激情在线视频播放| 97视频网站| 四虎中文字幕| 国产精品视频流白浆免费视频| 91av福利| 尤物免费看在线视频| 国产91在线视频蝌蚪| 快射av在线播放一区| 中文av在线播放| 国产剧情av在线| 欧美xxxxx性| 亚洲欧美小说国产图片| 中文字幕第一页av| 日本欧洲一区| 在线视频xx| 国产伦精品一区二区三区高清版禁| 97中文字幕| 黄色网址在线免费播放| av手机天堂| 国产夫妻视频| 中文字幕亚洲精品视频| 福利视频在线导航| 日韩国产成人| 国产精品久久久精品a级小说| 精品视频麻豆入口| 国产特级淫片免费看| 天天操天天操一操| 欧洲亚洲精品视频| 2019中文字幕在线电影免费| 99视频免费在线观看| 国产中文字幕在线观看| sese一区| 91亚洲欧美| 在线观看精品一区二区三区| 国产欧美日韩专区| 国产精品久久久久一区二区国产| 日本国产在线| 国产美女在线看| 成人免费一区二区三区牛牛| 九九免费视频| 天堂在线中文| 国产原创av在线| 最新中文字幕av专区| 国产一级大片| 午夜免费福利在线观看| 国产精品一区二区三区视频网站 | 久久久久久久久久久久网站| 亚洲精品午夜级久久久久| 四虎成人免费| 激情丁香婷婷| 国产午夜在线观看| 在线国产1区| 浪潮av一区| 国产黄色免费| 国产真实伦在线观看| 精品一区二区观看| 九九免费视频| 国产精品伦理一区二区三区| 亚洲网站一区| 大香伊人久久| 亚洲日本一区二区三区在线观看| 免费一区二区三区视频狠狠| 国产理论在线观看| 69久久精品| 尤物视频在线观看| 四虎成年永久免费网站| 天天操天天射天天色| 国产乱xxⅹxx国语对白| 国产精品人人爱一区二区白浆|