为了提高Asp程序的性能人们常常将经常使用的数据缓存在 Application但是你修改了数据库后怎么让application更新呢本文给你提供了一个合理的解决办法
<%
Class wawa_app_getrows
public Function wawa_Get_List(strappstrconnstrsql)
********************************
功能:从Application中提取数组如果application中的数据为empty值的时候再调用wawa_Get_Rows()函数来给application赋值
你可以在修改数据库的时候把相应的application值清空成empty这就浏览的时候就会自动更新application了
如果你更新了数据库(比如说添加修改或者删除了数据)那么在修改数据库后把相应的application变量去掉
用下面的一条语句来实现清空指定的application值其中strapp参数是要去掉的application变量名
applicationContentsRemove(strapp)
********************************
Dim wawa
wawa = Application(strapp)
If isempty(wawa) Then
wawa = wawa_Get_Rows(strconnstrsql)
Application(strapp) = wawa
End If
wawa_Get_List = wawa
End Function
public Function wawa_Get_Rows(strconnstrsql)
********************************
功能:从数据库里读取记录并用getrows方法
把记录保存成一个数组
********************************
Dim rs_wawa
Set rs_wawa = CreateObject("ADODBRecordset")
rs_wawaOpen strsqlstrconn
wawa_Get_Rows = rs_wawaGetRows()
rs_wawaClose
Set rs_wawa = Nothing
End Function
End Class
%>
<! 下面举个例子来说明上面的那个类怎么使用 >
<%
dim strappstrsqlstrconn
strapp="employee"
strsql="SELECT EmployeeIDTitleOfCourtesyFirstNameLastNameTitleCity FROM Employees"
strconn="Driver={sql server};server=;database=northwind;uid=sa;pwd=sa;"
set wawa_temp=new wawa_app_getrows
arr_wawa=wawa_tempwawa_Get_LIst(strappstrconnstrsql)
%>
<%
ResponseWrite("<table width=% border= cellspacing=>")
Dim ijRowsFlds
Rows=Ubound(arr_wawa)
Flds=Ubound(arr_wawa)
If Rows>= Then
For i= To Rows
ResponseWrite("<tr>")
For j= to Flds
ResponseWrite"<td>"&arr_wawa(ji)&"</td>"
Next
ResponseWrite("</tr>")
Next
Else
ResponseWrite("<tr><td>"&Rows&"</td></tr>")
End If
ResponseWrite("</table>")
%>