加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

探讨如何提高程序代码质量

发布时间:2023-09-28 10:24:58 所属栏目:Asp教程 来源:
导读:ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。我们此处将仅仅探讨如何提高程
ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。我们此处将仅仅探讨如何提高程序代码质量。

1、声明VBScript变量

在ASP中,对vbscript提供了强劲的支持,能够无缝集成vbscript的函数、方法,这样给扩展ASP的现有功能提供了很大便利。由于ASP中已经模糊了变量类型的概念,所以,在进行ASP与vbscript交互的过程中,很多程序员也惯于不声明vbscript的变量,由于这种行为会导致服务器对数据进行更深入的解析处理,从而增加服务的负载并减慢了对其他请求作出回应的速度。

鉴于此,我们可以象在VB中强制用户进行变量声明一样在vbscript中强制用户进行变量声明。实现方法是在ASP程序行首放置<% option explicit%>。

2、对URL地址进行编码

在我们使用asp动态生成一个带参数URL地址并进行跳转时,在IE中解析很正常,但在NetScrape浏览时却有错误如下:

HTTP Error 400  400 Bad Request  Due to malformed syntax, the request could not be understood by the server.  The client should not repeat the request without modifications. 
解决方法是对生成的URL参数使用ASP内置server对象的URLencode方法进行URL编码,例子如下:

<%  URL="xur.asp"  var1="username=" & server.URLencode("xur")  var2="&company=" & server.URLencode("xurstudio")  var3="&phone=" & server.URLencode("021-53854336-186")  response.redirect URL & "?" & var1 & var2 & var3  %> 
3、清空对象

当使用完对象后,首先使用Close方法来释放对象所占用的系统资源;然后设置对象值为“nothing”释放对象占用内存。当年,我就是在一张页面上创建了百余个没有清空对象的记录集而崩溃了我的IIS 。下面的代码使用数据库内容建立一个下拉列表。代码示例如下:

<% myDSN="DSN=xur;uid=xur;pwd=xur"  mySQL="select * from authors where AU_ID<100"  set conntemp=server.createobject("adodb.connection")  conntemp.open myDSN  set rstemp=conntemp.execute(mySQL)  if rstemp.eof then  response.write "数据库为空"  response.write mySQL  conntemp.close  set conntemp=nothing  response.end   end if%>  <%do until rstemp.eof %>  <%  rstemp.movenext  loop  rstemp.close  set rstemp=nothing  conntemp.close  set conntemp=nothing  %> 

4、使用字符串建立SQL查询

使用字符串来建立查询并不能加快服务器的解析速度,相反,它还会增加服务器的解析时间。但在这里仍然推荐使用字符串代替简单的查询语句来进行查询。这样做的好处是,可以迅速发现程序问题所在,从而便利高效地生成程序。示例如下:

<%mySQL= ""select * "  mySQL= mySQL & "from publishers"  mySQL= mySQL & "where state='NY'"

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章