ASP网页设计缓存类及翻开数据库毗连函数
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。函数|缓存|数据|数据库|数据库毗连懒人的作品,我连长一点点的代码,都写成函数了。。。用起来,能够偷懒,哈哈。。。
<%@LANGUAGE=VBScriptCodePage=936
Dimjz
Setjz=Newjz_clsmain
jz.Cache_count=0
jz.web_name="华人中小企业资本网"
Classjz_clsmain
Publicrs,conn,sql,db
Publicweb_name,t,t_s,t_h,cache
publici_0,i_1
publicReloadtime,CacheName,LocalCacheName,Cache_Data,Cache_count
PrivateSubClass_Initialize()
ReDimdb(4),conn(4),rs(4),sql(4)
ReDimt(20,4),t_s(20,3)
Reloadtime=14400*60
CacheNameCacheName=Replace(Replace(Replace(Server.MapPath("/"),"/",""),":",""),"","")
CacheName=request.servervariables("url")
CacheName=left(CacheName,instrRev(CacheName,"/"))&"jz"
Cache_count=1000
web_name="匠族"
endsub
PrivateSubclass_terminate()
i_1=LBound(db)
fori_0=0toi_1
OnErrorResumeNext
Response.Write(i_0&"<br/><br/>")
ifisobject(rs(i_0))thenrs(i_0).close:setrs(i_0)=nothing
IfIsObject(Conn(i_0))ThenConn(i_0).Close:SetConn(i_0)=Nothing
next
EndSub
PublicFunctiontree_00(str_0)
dimi,Jz_temp(1)
fori=0tostr_0
Jz_temp(0)=Jz_temp(0)&Jz_temp(1)
Jz_temp(1)="../"
next
tree_00=Jz_temp(0)
endFunction
publicfunctionconn_00(str_0,str_1)
str_1=tree_00(str_1)
db(str_0)="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(str_1&"data/data_"&str_0&".mdb")
Response.Write(db(str_0))
endfunction
str0=0-4<界说选择的DB(str0),并界说conn(str0)及rs(str0)>;str1=true,false<是不是创立数据库毗连>;str2=true,false<是不是创立rs工具>;
PublicFunctionc_r_s(str0,str1,str2)
OnErrorResumeNext
ifstr1then
SetConn(str0)=Server.CreateObject("ADODB.Connection")
conn(str0).opendb(str0)
endif
ifstr2then
setRs(str0)=Server.CreateObject("ADODB.Recordset")
endif
EndFunction
PublicFunctionc_r_o(str0,str1,str2)
Rs(str0).Opensql(str0),Conn(str0),str1,str2
IfErrThen
err.Clear
Setconn(str0)=Nothing
Response.Write"数据库毗连堕落,请反省毗连字串。"正文,必要把这几个字翻译成英文。
Response.End
EndIf
EndFunction
PublicFunctionc_r_e(str0,str1,str2)
OnErrorResumeNext
ifstr2then
rs(str0).close
setrs(str0)=nothing
endif
ifstr1then
conn(str0).close
setconn(str0)=nothing
endif
EndFunction
PublicPropertyLetName(ByValvNewValue)
LocalCacheName=LCase(vNewValue)
EndProperty
PublicPropertyLetValue(ByValvNewValue)
IfLocalCacheName""Then
ReDimCache_Data(2)
Cache_Data(0)=vNewValue
Cache_Data(1)=Now()
Cache_Data(2)=Reloadtime
Application.Lock
Application(CacheName&"_"&LocalCacheName)=Cache_Data
Application.unLock
Else
Err.RaisevbObjectError+1,"jzCacheServer","pleasechangetheCacheName."
EndIf
EndProperty
PublicPropertyGetValue()
IfLocalCacheName""Then
Cache_Data=Application(CacheName&"_"&LocalCacheName)
IfIsArray(Cache_Data)Then
Value=Cache_Data(0)
Else
Err.RaisevbObjectError+1,"jzCacheServer","TheCache_Data("&LocalCacheName&")IsEmpty."
EndIf
Else
Err.RaisevbObjectError+1,"jzCacheServer","pleasechangetheCacheName."
EndIf
EndProperty
PublicFunctionObjIsEmpty()
app_count()
ObjIsEmpty=True
Cache_Data=Application(CacheName&"_"&LocalCacheName)
IfNotIsArray(Cache_Data)ThenExitFunction
IfNotIsDate(Cache_Data(1))ThenExitFunction
IfIsEmpty(Cache_Data(2))ThenExitFunction
IfDateDiff("s",CDate(Cache_Data(1)),Now())<(Cache_Data(2))ThenObjIsEmpty=False
EndFunction
PublicSubDelCahe(MyCaheName)
Application.Lock
Application.Contents.Remove(CacheName&"_"&MyCaheName)
Application.unLock
EndSub
publicsubapp_count()
ifApplication.Contents.Count>Cache_countthen
Application.Lock
Appli</p>ASP脚本是采用明文(plaintext)方式来编写的。 掌握asp的特性而且一定要知道为什么。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助... 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
页:
[1]