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'"
response.write mySQL
set rstemp=conntemp.execute(mySQL)
rstemp.close
set rstemp=nothing
%>
5、 利用case停止前提选择
在停止前提选择的时分,尽可能利用case语句,防止利用if语句。利用case语句,可使法式流程化,履行起来也比if语句来的快。示例以下:
<%
FOR i = 1 TO 1000
n = i
Response.Write AddSuffix(n) & "<br>"
NEXT
%>
<%
Function AddSuffix(num)
numpart = RIGHT(num,1)
SELECT CASE numpart
CASE "1"
IF InStr(num,"11") THEN
num = num & "th"
ELSE
num = num & "st"
END IF
CASE "2"
IF InStr(num,"12") THEN
num = num & "th"
ELSE
num = num & "nd"
END IF
CASE "3"
IF InStr(num,"13") THEN
num = num & "th"
ELSE
num = num & "rd"
END IF
CASE "4"
num = num & "th"
CASE ELSE
num = num & "th"
END SELECT
AddSuffix = num
END FUNCTION
%>
6、 利用adovbs.inc文件中界说的常量翻开纪录集
翻开纪录集时,可以界说纪录集翻开的游标类型和锁定类型。在adovbs.inc文件中界说了一些常量来界说这些类型。adovbs.inc文件保留在\inetpub\iissamples\IISamples目次上面。上面罗列几个经常使用的游标类型和锁定类型。
游标类型:adOpenFowardOnly游标只能向前;adOpenKeyset游标可向前或向后,如一用户添加纪录,新纪录不会呈现在纪录集中;adOpenDynamic游标静态随便;adOpenStatic纪录集不合错误其他用户酿成的纪录修正有所反应。
锁定类型:adLockReadOney不克不及修正纪录集中的纪录;adLockPessimistic在编纂一笔记录时锁定它;adLockOptimstic挪用纪录集Update办法时才锁定纪录;adLockBatchOpeimstic纪录只能成批更新。
<!--#INCLUDE VIRTUAL="/ADOVBS.INC" -->
<%
connectme="DSN=xur;uid=xur;pwd=xur"
sqltemp="select * from publishers where name='xur'"
set rstemp=Server.CreateObject("adodb.Recordset")
rstemp.open sqltemp, connectme, adOpenStatic,adLockOptimstic
response.write rstemp.recordcount & " records in<br>" & sqltemp
rstemp.close
set rstemp=nothing
%>