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