龙空技术网

(04)ASP与Access数据库连接方法

景福之家 170

前言:

现在小伙伴们对“asp的正确输出方法”可能比较关怀,朋友们都需要了解一些“asp的正确输出方法”的相关资讯。那么小编同时在网络上搜集了一些有关“asp的正确输出方法””的相关资讯,希望大家能喜欢,你们一起来了解一下吧!

以我设计的生产物资信息管理系统为例,与数据库连接用到2个asp文件:

第1个:Jxc_Conn.asp

<%

Response.Buffer=True

Response.ExpiresAbsolute=Now()-1

Response.Expires=0

Response.CacheControl = "no-cache"

Response.AddHeader "Pragma", "No-Cache"

Server.ScriptTimeout=90

On Error Resume Next

'******打开主数据库

'数据库所在目录

dbfolder="data/"

'数据库名称

dbname="Jxc_PoMis.mdb"

%>

1.Buffer

Buffer的优点:

Buffer从英文直译过来的意思是“缓冲区”,这里我们也可将它称为缓冲。

缓冲区是服务器端存储数据的地方,客户端所获得的数据可以从程序的执行结果直接输出,也可以从缓冲区输出。区别是两种方式在速度上的差异:

在web中,当一个asp程序被请求的次数不多时,二者基本上没有什么差异,至少我们感觉不出来。

但是当有很多人请求一个asp程序时,有没有缓冲区,速度就有明显的区别。没有缓冲区,每个请求asp程序的人的客户端所得到的结果都是asp程序执行一次的结果,有缓冲区时,服务器预先将asp程序执行结果缓冲,访问时每个客户端所得到的结果就是缓冲区内缓存的结果。

比如有10000个用户同时访问一个asp页面,若这个asp程序没有缓冲,那么程序将被执行一万次,服务器负荷的增大,直接导致客户端打开页面速度变慢;

如果这个asp程序执行结果被缓冲了,那么,每个客户端直接从缓冲区获得数据,服务器将不会因为访问增加而增加程序执行次数,因此客户端打开页面的速度也就比上一种情况要快。这就是Buffer的优点。

如何将asp程序缓冲

这个问题其实很简单,只要在asp程序的第一行加上:

<% Response.Buffer = True %>

就可以了,也可以根据需要,中途用response.clear把之前的内容清掉,或者直到所有程序执行完或者遇到

<% Response.Flush %>或<% Response.End %>语句,释放缓冲区的信息。

2.ExpiresAbsolute

ExpiresAbsolute属性指定缓存于浏览器中的页的到期日期和时间。

Now()-1,通俗地讲,它是让页面立即过期,不缓存页面,也就是说用户访问这个页面,每次是从服务器请求得来的最新数据。

所以这里指的是页面过期,重新向服务器进行HTTP请求。

3.Expires: 属性指定了在浏览器上缓冲存储的页距过期还有多少时间。如果用户在某个页过期之前又回到此页,就会显示缓冲区中的版本。一般情况下,当用户请求WEB服务器时,服务器把请求回复给客户端。在客户端,浏览器把缓存作为一种加快速度的策略,就是当请求时先检查缓存的情况,如果有就直接调缓存了,而不请求服务器了。 在WEB程序设计中,有时为了防止重复的提交或者严格的次序等,必须让用户的数据立即在使用后就过期,当用户后退时就显示过期而不能继续使用。也算是为安全考虑的吧。

一般,response.expires写在页面的最上端,后面跟的是一个时间,就是过期的时间,0表示立即过期。

4.CacheControl:决定代理服务器是否能缓存 ASP 生成的输出。

5. response.addheader "pragma","no-cache" 是不要网页存于缓存之中。相当于<meta http-equiv="pragma" content="no-cache">,addheader 是发送给浏览器 HTTP 头信息,将该信息存在浏览器的头信息里。

5. Server.ScriptTimeout 这个属性给定Asp脚本执行的最大时间,如果asp程序的运行时间超过了这个属性规定的值,Asp就会报错。由于IIS默认的ScriptTimeout值是90秒,这是在IIS Metabase中设置的,所以我们可以在我们的程序中改变这个值,例如设为100,这样就把Asp程序执行最大时间改为100秒了, 不过这里有一点需要注意的,就是设置的ScriptTimeOut值,要比IIS默认的设定值大, 也就是说如果我们这样设定ScriptTimeOut的值:

<%Server.ScriptTimeOut=60%>

就不起作用了, 因为默认值是90,设定的值只能比90大如果比90小的话,那么仍然以90秒为准。

当然,IIS默认的90秒也是可以更改的,具体可以参考如何修改IIS Metabase的相关文章。

第2个:Jxc_Config.asp

<%

'*******打开主数据库联接

connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbfolder&dbname)

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open connstr

If Err Then

err.Clear

Set Conn = Nothing

Response.Write "<p style='font-size:26pt' align=center>数据库连接出错!</p>"

Response.Write "<p style='font-size:9pt' align=center>可能出错原因:年初进行数据库的初始化,</p>"

response.write "<p style='font-size:20pt' align=center>待全厂物资盘点完毕后可正常使用。</p>"

Response.End

End If

'***************

%>

这个文件相对简单,是定式,绝大多数连接Access数据都这么用,相关于一个程序块,拿过来用就可以。

写出来的过程,也是学习的过程,这中间不可避免地会出现这样那样的错误,在这里诚恳地希望大家多多批评指正,我也好及时改进,谢谢。

下一节介绍什么呢,大家可以在评论区讨论。

标签: #asp的正确输出方法 #asp连接数据库的三种方法 #asp怎么连接数据库 #asp连接数据库登录页面打不开 #asp连接数据库的三种方法是什么