Asp综合手册
1.释放变量
flow_name=""
flow_name=empty
flow_name=null
释放对象
set rs=nothing
dim赋值
dim a:a=1
2.截取最后一个字符
str=left(str,len(str)-1)
截取第一个字符
str=right(str,len(str)-1)
字符串补零
Dim TranId
TranId="93362993 "
TranID = Right("0000000000000" & TranID , 13)
从最后一个指定字符开始截取
right("[123]abc",len("[123]abc")-instrrev("[123]abc","]"))
查询某一字符在字符串中最后出现的位置
str = instrrev(aa,"s")
split分组,ubound计算长度
ubound(split("2,3",","))=1 (长度2)
ubound(split("2",","))=0 (长度1)
查询某一字符串在字符串中是否存在
instr("","") (返回0)
instr("","abc") (返回0)
instr("abc","") (返回1)
instr("abcdefg","cd") (返回3)
3.recordset移动上一条、下一条记录
set rs=server.createobject("adodb.recordset")
sql="select * from table where id=220"
rs.open sql,conn,1,1
rs.movenext '移动到下一条
rs.moveprevious '上移
rs操作
set rs=server.CreateObject("adodb.recordset")
sql="select * from table where id="&id
rs.open sql,conn,1,1
if not (rs.bof and rs.eof) then
do while not rs.eof
name=rs("name")
value2=rs("value2")
rs.movenext
loop
end if
rs.close
set rs=nothing
rs插入记录获取记录ID
set rs=server.createobject("adodb.recordset")
sql = "select * from table"
rs.open sql,conn,1,3
rs.addnew
rs("name")=name
rs("userid")=userid
rs.update
temp=rs.bookmark
rs.bookmark=temp
insertid=rs("id")
rs.close
set rs=nothing
4.FSO文件操作
Set fso = CreateObject("Scripting.FileSystemObject")
filename=Server.MapPath("../"&old_updoc)
if fso.FileExists(filename) then
fso.DeleteFile filename,true
end if
5.ASP上传最大值限制
在服务里关闭iis admin service服务,找到windows\system32\inesrv\下的metabase.xml, 打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K,如把它修改为51200000(50M)。
6.ASP弹出提示框调试
response.write "<script language='javascript'>"
response.write "alert('"&sql&"');"
response.write "</script>"
7.日期加减
算出月份
mon=dateDiff("d",rs("FBeginDate"),rs("FEndDate"))/30
mon=formatnumber(mon,0)
更多实例:
日<%=dateadd("d",2,now())%>'2011-6-4 15:28:40
日<%=dateadd("d",-2,now())%>'2011-5-31 15:28:40
一周的日数<%=dateadd("w",2,now())%>'2011-6-4 15:28:40
一年的日数<%=dateadd("y",2,now())%>'2011-6-4 15:28:40
月<%=dateadd("m",2,now())%>'2011-8-2 15:28:40
年<%=dateadd("yyyy",2,now())%>'2013-6-2 15:28:40
季<%=dateadd("q",2,now())%>'2011-12-2 15:28:40
周<%=dateadd("ww",2,now())%>'2011-6-16 15:28:40
时<%=dateadd("h",2,now())%>'2011-6-2 17:28:40
分<%=dateadd("n",2,now())%>'2011-6-2 15:30:40
秒<%=dateadd("s",2,now())%>'2011-6-2 15:28:4
减<%=datediff("d",now(),"2011-6-4")%> '2
8.数值转换
字符串转换为浮点型
str="1234.4567"
str1=formatnumber(str,2,-1) 结果:"1234.46"
str="0"
str1=formatnumber(str,2) 结果:".00"
str2=formatnumber(str,2,-1) 结果:"0.00"
数值转换
cstr():转换成字符
cdate():转换成日期
cint():转换成整数
CBool():转成Boolean
CByte():转成Byte
Clng():转成 Long
CSng():转成Single
CDbl():转成Double
CCur():转成Currency
9.金额去除逗号
formatnumber("123,212.0011",2,-1,-1,0) 结果:123212.00
10.有关timeout超时的解决方法总结
影响服务器产生超时的设置大致有:
1. Server.ScriptTimeout
2. Connection对象的CommandTimeOut属性
3. Command对象的CommandTimeOut属性
4. IE浏览器的设置
5.Session.TimeOut
Server.ScriptTimeout,默认值是90秒. 要增大它,在你的asp文件中加一句,如下: Server.ScriptTimeout=999, 将页面超时设为999秒.
最初我只设置Server.ScriptTimeout,但仍会出现timeout错误,无论它的值设成都多大.
后在社区里看到一帖子,提到commandTimeout属性, 于是查看Option Pack文档,果然还有其他的timeout.
Connection对象和Command对象都有个CommandTimeOut属性, 默认是30秒,
如果你有一个耗时的查询或数据处理, 很容易就超时了.要增大它,也很容易,创建对象后, 设置它的属性,如下:
con.CommandTimeOut = 999,设为999秒,其中con是一Connection对象. 如设为零,将无限等待,没有这一timeout限制.
Command.CommandTimeout对象不会继承Connection的这一属性, 所以对可能超时的Command也要单独设置CommandTimeout属性.
最后IE也有个超时设置,5分钟从服务器得不到数据,也超时. 这种情况可能很少碰到,
但当我把一10多万查询的结果保存为mdb文件时, 就遇到了.
解决方法:(原文请参照微软KB中的Q181050)
1. IE要4.01 sp1以上版本.
2. 在注册表中HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrentVersionInternet Settings中
加一DWORD类型ReceiveTimeout,值设为比如8个9.
3. restart computer.
Session的属性有:SessionID和Timeout,SessionID是存储用户的Session ID,而TimeOut则是指Session的有效期时长。
Session的方法只有一个,Abandon,它是清除Session对象。
一般Session到期后会自动清除(到期时间可在Session.TimeOut中指定,默认为20分钟),
但到期前可以用Abandon方法强行清除。如: Session.Abandon结