- 浏览: 71660 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
ria2011:
真好用!谢谢!
sqlserver2000或是2005导出sql文档 -
plghqr:
...
在Windows批处理中获取系统日期、时间戳记 -
fpplzw:
...
Windows下Tomcat+Apache整合
语句
Call
[call] name [argumentlist]
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。
Const
[Public | Private] Const constantname=expression
用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
Dim
Dim varname[ ( [subscripts])][, varname [( [subscripts])]...
创建一个新变量并且分配存储空间。
DO . . . LOOP
语法 1:
Do [{While | Until } condition ]
[statements]
[Exit Do]
[statements]
LOOP
语法 2:
Do
[statements]
[Exit Do]
[statements]
LOOP [{While | Until } condition ]
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
Erase
Erase array
清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
Exit
Exit Do
退出一个 DO . . . LOOP 循环。
Exit For
退出一个 For . . . Next 循环或For Each . . . Next循环。
Exit Function
退出一个 函数。
Exit Sub
退出一个子程序。
For . . . Next
For counter = start To End [Step step]
[statements]
[Exit For]
[statements]
Next
由loop 计数器指定的次数重复执行statements语句群。
For Each . . . Next
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
对于每一个在数组或集合中的元素,重复执行statements语句群。
Function
[Public | Private] Function name [(arglist)]
[statements]
[name=expression]
[Exit Function]
[statements]
[name=expression]
End Function
定义一个函数,指明函数名,参数及代码。
If . . . Then . . . Else
语法1:
If condition Then statements [Else elsestatements]
语法2:
If condition Then
statements
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End If
两种格式都条件执行一系列语句。
On Error
On Error Resume Next
当一个错误发生时,这条语句就执行紧*发生错误语句后面的语句,或者执行紧*调用进程后面的语句。
Option Explicit
Option Explicit
在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。
Private
Private varname[([下标])][, varname[([下标])] . . .
创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用)
Public
Public varname[([下标])][, varname[([下标])] . . .
创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用)
Randomize
Randomize [number]
给Rnd函数的随机数发生器一个新种子值。
ReDim
ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . .
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。
Rem
语法1:
Rem comment
语法2:
‘comment
这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。
Select Case
Select Case testexpression
[Case expressionlist-n
[statements-n]] . . .
[Case Else expressionlist-n
[elsestatements-n]]
End Select
如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。
Set
Set obectvar= {objectexpression | Nothing}
赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
Sub
[Public | Private] Sub name [(arglist)]
[statements]
[Exit Sub]
[statements]
End Sub
定义一个子程序,指明名称,参数及代码。
While . . . Wend
While condition
[statements]
[color=Maroon]Wend
不停地连续执行语句statements 直到条件condition为True。
-------------------------------------------------------
1.允许使用VBscript或Javascript简易Script语言,并可在文件中结合Html;
2.无需编译,由WEBserver执行产生;
3.与任何ActiveX Script兼容;
4.ASP原始代码不会传到客户端,客户端显示的是执行结果。
<Form>表单语法:
<Form name="StrName" id="StrId" action="" method="post/get">content</Form>;
<Input>类型:
<input type=text name="StrName" value="StrValue" size="num" maxlength="num" [disable]>;
<input type=password name="StrName" value="StrValue">;
<input type=radio name="StrName" value="StrValue" [checked]>;
<input type=checkbox name="StrName" value="StrValue" [checked]>;
<INPUT type=file NAME="StrName" SIZE="20">
<input type=hidden name="StrName" value="StrValue">
<input type="submit" name="StrName" value="StrValue">
<input type="reset" name="StrName" value="StrValue">
<input type="button" name="StrName" value="StrValue">
<select name="StrName" [multiple]><option value="StrValue" selected>text[<option>n]</select>
<textarea name="StrName" rows="num" cols="num">text</textarea>
<frameset>语法:
<frameset rows/cols="num,num/*.."><frame name="StrName" src="StrSrc">[<frame>n [<frameset>..</frameset>]]</frameset>
<noframe><body>warning!</body></noframe> 无框架提示;
控制框架内容:<a href="StrSrc" target="StrFrameName"> 就可以了。
用JavaScript: Document.frame.StrFrameName.Location="StrSrc";
VBscript常用函数:
1.数值型函数:
abs(num): 返回绝对值
sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负
hex(num): 返回十六进制值 直接表示:&Hxx 最大8位
oct(num): 返回八进制值 直接表示:&Oxx 最大8位
sqr(num): 返回平方根 num>0
int(num): 取整 int(99.8)=99; int(-99.2)=100
fix(num): 取整 fix(99.8)=99; fix(-99.2)=99
round(num,n): 四舍五入取小数位 round(3.14159,3)=3.142 中点数值四舍五入为近偶取整 round(3.25,1)=3.2
log(num): 取以e为底的对数 num>0
exp(n): 取e的n次幂 通常用 num^n
sin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num)
2.字符串函数:
len(str):计算字符串长度 中文字符长度也计为一!
mid(str,起始字符,[读取长度]):截取字符串中间子字符串
left(str,nlen):从左边起截取nlen长度子字符串
right(str,nlen):从右边起截取nlen长度子字符串
Lcase(str):字符串转成小写
Ucase(str):字符串转成大写
trim(str):去除字符串两端空格
Ltrim(str):去除字符串左侧空格
Rtrim(str):去除字符串右侧空格
replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串
注:默认值:起始字符 1;替代次数 不限;比较方法 区分大小写(0)
InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串 可选参数需同时选 返回起始位置
InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串 返回起始位置
space(n):构造n个空格的字符串
string(n,str):构造由n个str第一个字符组成的字符串
StrReverse(str):反转字符串
split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组 可选参数需同时选
3.数据类型转换函数:
Cint(str):转换正数 True -1;False 0;日期 距离1899/12/31天数;时间 上午段 0;下午段 1;
Cstr(str):日期 输出格式 yyyy/mm/dd;时间 输出格式 Am/Pm hh:mm:ss
Clng(str):与Cin()类似
Cbool(num):num不为零 True;反之 False
Cdate(str):转换日期格式 0:#Am 12:00:00#;正数 距离1899/12/31天数的日期;浮点数 日期+小数时间
Cbyte(num):num<255 转换为字节
Csng(str):转换为单精度数值
Cdbl(str):转换为双精度数值
Ccur(str):转换为现金格式
4.时间函数:
date:取系统当前日期
time:取系统当前时间
now:取系统当前时间及日期值 Datetime类型
timer:取当前时间距离零点秒值,计时器,可计算时间差
DateAdd(间隔单位,间隔值,日期):推算相邻日期
DateDiff(间隔单位,日期一,日期二):计算时间差 日期二-日期一
Datepart(间隔单位,日期):计算日期的间隔单位值
Dateserial(date):输出日期值(按序列计算)
Timeserial(time):输出时间值(按序列计算)
DateValue(datetime):取出字符串中日期值
Timevalue(datetime):取出字符串中时间值
weekday(date):计算星期几
MonthName(date):输出月分名
year(datetime):截取年份
month(datetime):截取月份
day(datetime):截取日
hour(datetime):截取小时
minute(datetime):截取分钟
second(datetime):截取秒
5.其它函数:
Array(unit,..):动态生成数组
Asc(str):输出字符串第一个字符的ASCII码
Chr(asc):转换ASCII为字符 Enter:Chr(13)&Chr(10)
Filter(数组名称,关键字符串,[,包含][,比较方法]):
将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素
Join(ArrayName):将数组中元素连成字符串
Ubound(ArrayName[,维数]):取得数组相应维数的上界
Lbound(ArrayName[,维数]):取得数组相应维数的下界 一般为0
Randmize n:启动随机数种子
Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数
取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件(B>A)
子程序和自定义函数
Sub StrSubName Function StrFunName(arg[1],..)
子程序体 函数体
Exit Sub 中途跳出 Exit Function 中途跳出
End Sub StrFunName=Value 返回值
End Function
[call] StrSubName 引用子程序 Var=StrFunName(arg[1],..) 引用函数
子程序和自定义函数可以递归调用;
ASP六大对象常用语句示范:
Response:
Response.write StrVar/"String":向网页写出参数值或字符串 等同于在Html标记中嵌入<%=StrVar/"String"%>
Response.End:停止页面编译,并将已经编译内容输出到浏览器
Response.Buffer=True&#124;False:页面编译时是否使用缓存的设置,一般在页面头部设置
Response.Flush:强制输出页面已编译部分内容
Response.Clear:将缓冲区内的数据清除
Response.Redirect URL:停止页面编译或输出,转载指定所需页面
Response.IsClientConnected:返回True&#124;False,检测用户是否还处于连接状态
Response.Charset(CharsetName):设置页面编码类型,即<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
Response.ContentType [= ContentType ]:设置页面文件类型,同上
Response.Expires [= number]:设置页面失效时间,单位分钟
Response.ExpiresAbsolute [= [date] [time]]:设置页面失效的绝对时间
Response.Status = StatusDescription:设置页面状态描述
Request:
Request("PassStrName"):读取网页传递值,包括表单及以?PassStrName=value&PassStrName_n=value_n形式
Request[.collection&#124;property&#124;method](variable)
Request.querystring("PassStrName"):读取Get方法传递的表单值和?PassStrName=value
Request.QueryString(Varible)[(Index).Count]
Request.form("PassStrName"):读取Post方法传递的纯表单域的值
Request.Form(Parameter)[(Index).Count]
Request.ServerVaribles(Server Environment Variable):读取客户端系统环境变量,详见参考
Request.BinaryRead(Count):读取指定字节数的传送值
Request.TotalBytes:查询体的长度,以字节为单位,只读
注:同名表单如:CheckBox如有多项值,传递形式如右,StrName=value1,value2,...需要用Split函数分割各项值
Multiple的Select表单与CheckBox类似,TextArea的值可包含换行字符,用Replace转为<br>,以满足格式需要
Session:(用户全局变量)
Session("SesName")=value:存储Session变量值,也可读取该值
Session("SesName")=Empty:判断Session值是否存在的两种方法
IsEmpty(Session("SesName"))=True&#124;False:判断Session值是否存在的两种方法
Session.TimeOut=num:设置Session变量的存在时效,单位分钟
Session.Abandon:清除所有Session变量值
Session.SessionID:Session变量的ID序列号,只读
Application:(应用程序全局变量)
Application("AppName")=value:存储Application变量值,也可读取该值
Application("AppName")=Empty:判断Application值是否存在的两种方法
IsEmpty(Application("AppName"))=True&#124;False:判断Application值是否存在的两种方法
Application.Lock:Application变量值锁定,防止同时更改变量值
Application.UnLock:Application变量值解锁,允许更改变量值
注:Session与Application变量都可以用来存储数组和系统对象,引用方法是变量名相当于数组名而已,
但不能直接改变其值,需要借助临时数组修改值后,再赋给Session与Application变量
Global.asa文件的结构:<% @language="VBscript"%>
<% Sub Application_OnStart ...End Sub
Sub Application_OnEnd ... End Sub
Sub Session_OnStart ...End Sub
Sub Session_OnEnd ... End Sub%>
Server:
Server.MapPath("FileUrl"):映射文件名的服务器站点绝对地址,Path=Server.MapPath(./)可以得到虚拟目录根路径
Server.HtmlEncode("string"):转换为可以直接显示带Html格式的字符串,如:<,>等
Server.URLEncode( "string"):转换为浏览器地址编码
set Var=Server.CreatObject("ObjName"):创建对象变量
Server.ScriptTimeout = NumSeconds:ASP程序页面执行时限,以秒为单位
Cookies: 存储在用户本机的临时变量,每个Cookie的最大字节4KB,最多可以有300个Cookie 1.2MB
Response.cookies("StrCookieName")=value:存储Cookie变量值,也可读取该值
Response.cookies("StrCookieName")="":判断是否为空
Response.cookies("StrCookieName").Expires=Date:变量有效期,以天为单位,小于当前时间立即失效
Response.Cookies(Cookie[(key).Attribute]):标准语法
ObjectContext 控制ASP的事务处理
ObjectContext.OnTransactionAbort:由放弃的事务处理事件激发,在脚本完成处理后发生
ObjectContext.OnTransactionCommit:由成功的事务处理事件激发,在脚本完成处理后发生
ObjectContext.SetAbort:显式的放弃一次事务处理
ObjectContext.SetComplete:覆盖前面任何调用ObjectContext.SetAbort方法的调用
Msgbox "string"/StrName:VBscript提示框
表单的Onsubmit事件:在同一页面写入 Function FormName_onsubmit()..FormName_onsubmit=True/False..end Function,
页面会在提交前先执行语句,并根据返回值判断是否完成提交任务。
数据库连接字符串举例:
Access2000:
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dbase\liuyan.mdb")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dbase\liuyan.mdb")&";Password=admin"
Recordset.Open "数据表名", conn, 2, 2
SqlServer2000:
conn.Open "Provider=SQLOLEDB.1;User ID=sa;Password=admin;Initial Catalog=pubs;Data Source=server\garlmrm"
conn.Open "provider=SQLOLEDB;data source=hyserver;uid=sa;pwd=;database=pubs"
Recordset.Open StrSQL, conn, 2, 2
Dbase:(?)
conn Open "Driver={Microsoft dBase Driver};SourceType=DB;SourceDB=" & Server.MapPath( "目录名" )
Recordset.Open StrSQL, conn, 2, 2
FoxBase:
conn Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" & Server.MapPath( "目录名" )
Recordset.Open DBF文件名或Select语句, conn, 2, 2
conn Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=" & Server.MapPath( "DBC数据库文件名" )
Recordset.Open DBF文件名或Select语句, conn, 2, 2
Excel:
conn Open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & Server.MapPath( "XLS文件名" )
Recordset.Open "Select * From ["&sheet&"$]",conn,2,2
注:使用DBF、DBC、Excel数据库,下面几点要注意:Excel数据库只能读取、增加记录、修改记录,但不能删除记录;
DBF、DBC可以读取记录、增加记录、删除记录、修改记录,但是在增加记录时,任何一个字段值都不能为空,由此
可看出局限性很大,所以尽可能地用MDB或SQL数据库。
SQL函数
使用SQL函数,您可以在一个SELECT语句的查询当中,直接计算数据库资料的平
均值、总数、最小值、最大值、总和、标准差、变异数等统计。使用Recordset对象
时,也可使用这些SQL函数。
SQL函数包括如下:
Avg函数:计算查询中某一特定字段资料的算术平均值。
Count函数:计算符合查询条件的记录数。
Min, Max函数:传回指定字段之中符合查询条件的第一条、最末条记录的资料。
First, Last函数:传回指定字段之中符合查询条件的最小值、最大值。
StDev函数:计算指定字段之中符合查询条件的标准差。
Sum函数:计算指定字段之中符合查询条件的资料总和。
Var,函数:计算指定字段之中符合查询条件的变异数估计值。
ADO如何使用SQL函数呢?
譬如ASP程式码rs21.asp,在用户端使用浏览器,浏览执行的结果,显示执行SQL函数
的结果。
ASP程式码rs21.asp如下:
<%
Set conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver=
{Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
Set rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECT Avg(价格) As 平均 From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Avg: " & rs2("平均")
rs2.Close
SqlStr = "SELECT Count(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Count(价格): " & rs2(0)
rs2.Close
SqlStr = "SELECT Count(*) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Count(*): " & rs2(0)
rs2.Close
SqlStr = "SELECT Sum(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Sum: " & rs2(0)
rs2.Close
SqlStr = "SELECT Min(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Min: " & rs2(0)
rs2.Close
SqlStr = "SELECT Max(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Max: " & rs2(0)
rs2.Close
SqlStr = "SELECT First(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>First(价格): " & rs2(0)
rs2.Close
SqlStr = "SELECT Last(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Last(价格): " & rs2(0)
rs2.Close
SqlStr = "SELECT First(代号) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>First(代号): " & rs2(0)
rs2.Close
SqlStr = "SELECT Last(代号) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Last(代号): " & rs2(0)
rs2.Close
SqlStr = "SELECT StDev(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>StDev: " & rs2(0)
rs2.Close
SqlStr = "SELECT Var(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Var: " & rs2(0)
rs2.Close
conn1.Close
%>
SQL函数,详细描述如下:
Avg函数
Avg函数,计算查询中某一特定字段资料的算术平均值。
语法为Avg(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可
以是一个内部或使用者定义的,但不能为其它的SQL函数。
Avg函数在计算时,不包含任何值为 Null 的资料。
Count函数
Count函数,计算符合查询条件的记录条数。
语法为Count (运算式)。运算式,可为字段名称、*、多个字段名称、运算式、
或一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的SQL函数。
Count 函数於计算时,不包含任何值为 Null 的资料。
但是,Count(*) 则计算所有符合查询条件的记录条数,包含那些Null的资料。
如果Count(字段名称) 的字段名称为多个字段,将字段名称之间使用 & 分隔。
多个字段当中,至少有一个字段的值不为Null的情况下,Count函数才会计算为一条
记录。如果多个字段都为Null,则不算是一条记录。譬如:
SELECT Count(价格 & 代号) From 产品
First/Last函数
First函数、Last函数,传回指定字段之中符合查询条件的第一条、最末条记录
的资料。
语法为First(运算式) 和 Last(运算式)。运算式,可为字段名称、运算式、或
一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的SQL函数。
Min/Max函数
Min函数、Max函数,传回指定字段之中符合查询条件的最小值、最大值。
ado如何使用sql函数?
语法为Min(运算式) 和 Max(运算式)。运算式,可为字段名称、运算式、或一个
函数,此函数可以是一个内部或使用者定义的,但不能为其它的SQL函数。
StDev函数
StDev函数,计算指定字段之中符合查询条件的标准差。
语法为StDev(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数
可以是一个内部或使用者定义的,但不能为其它的SQL函数。
如果符合查询条件的记录为两个以下时,StDev函数将传回一个Null 值,该表示
不能计算标准差。
Sum函数
Sum函数,计算指定字段之中符合查询条件的资料总和。
语法为Sum(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可
以是一个内部或使用者定义的,但不能为其它的SQL函数。
Sum函数可使用两个字段资料运算式,譬如计算产品的单价及数量字段的合计:
SELECT Sum(单价 * 数量) FROM 产品
Var函数
Var函数,计算指定字段之中符合查询条件的变异数估计值。
语法为Var(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可
以是一个内部或使用者定义的,但不能为其它的SQL函数。
如果符合查询条件的记录为两个以下时,Var函数将传回一个Null 值,该表示不
能计算变异数。
Call
[call] name [argumentlist]
把控制转移到函数或子程序。当调用函数或子程序时,Call是可写可不写的。但是如果你用了Call,那么argumentlist必须用括号括起来。
Const
[Public | Private] Const constantname=expression
用于申明常数。你可以在一行里申明多个常数,此时你必须用逗号把常数赋值语句隔开。
Dim
Dim varname[ ( [subscripts])][, varname [( [subscripts])]...
创建一个新变量并且分配存储空间。
DO . . . LOOP
语法 1:
Do [{While | Until } condition ]
[statements]
[Exit Do]
[statements]
LOOP
语法 2:
Do
[statements]
[Exit Do]
[statements]
LOOP [{While | Until } condition ]
当条件condition为真时或直到条件condition为真时,两种形式都重复执行语句。
Erase
Erase array
清理数组,对于固定长度的数组,重新初始化元素;对于动态数组,重置存储空间。
Exit
Exit Do
退出一个 DO . . . LOOP 循环。
Exit For
退出一个 For . . . Next 循环或For Each . . . Next循环。
Exit Function
退出一个 函数。
Exit Sub
退出一个子程序。
For . . . Next
For counter = start To End [Step step]
[statements]
[Exit For]
[statements]
Next
由loop 计数器指定的次数重复执行statements语句群。
For Each . . . Next
For Each element In group
[statements]
[Exit For]
[statements]
Next [element]
对于每一个在数组或集合中的元素,重复执行statements语句群。
Function
[Public | Private] Function name [(arglist)]
[statements]
[name=expression]
[Exit Function]
[statements]
[name=expression]
End Function
定义一个函数,指明函数名,参数及代码。
If . . . Then . . . Else
语法1:
If condition Then statements [Else elsestatements]
语法2:
If condition Then
statements
[ElseIf condition-n Then
[elseifstatements]] . . .
[Else
[elsestatements]]
End If
两种格式都条件执行一系列语句。
On Error
On Error Resume Next
当一个错误发生时,这条语句就执行紧*发生错误语句后面的语句,或者执行紧*调用进程后面的语句。
Option Explicit
Option Explicit
在使用变量之前强制明确定义该变量,可以用Dim,Private,Public或 ReDim语句定义变量。
Private
Private varname[([下标])][, varname[([下标])] . . .
创建私有变量并且分配存储空间。(私有变量只能在定义该变量的脚本中可用)
Public
Public varname[([下标])][, varname[([下标])] . . .
创建公有变量并且分配存储空间。(公有变量在程序的任何地方均可使用)
Randomize
Randomize [number]
给Rnd函数的随机数发生器一个新种子值。
ReDim
ReDim [Preserve] varname(subscripts)[, varname(subscripts)] . . .
修改维的下标,大小;或重置动态数组的大小。Preserve 保护已存数组的数据。
Rem
语法1:
Rem comment
语法2:
‘comment
这两种语句形式都能使注释的句子不被处理。如果Rem和其它语句在同一行上,Rem 语句必须在后且二者之间必须用冒号隔开。
Select Case
Select Case testexpression
[Case expressionlist-n
[statements-n]] . . .
[Case Else expressionlist-n
[elsestatements-n]]
End Select
如果某一个expressionlist 和testexpression 匹配,则执行和expressionlist对应的语句;如果没有一个expressionlist 和testexpression 相匹配,则执行和Case Else 相对应的语句。
Set
Set obectvar= {objectexpression | Nothing}
赋予一个变量或一个性质对象引用。当赋予的值为Nothing 时,使obectva 和任何以前指明的对象解除关系。
Sub
[Public | Private] Sub name [(arglist)]
[statements]
[Exit Sub]
[statements]
End Sub
定义一个子程序,指明名称,参数及代码。
While . . . Wend
While condition
[statements]
[color=Maroon]Wend
不停地连续执行语句statements 直到条件condition为True。
-------------------------------------------------------
1.允许使用VBscript或Javascript简易Script语言,并可在文件中结合Html;
2.无需编译,由WEBserver执行产生;
3.与任何ActiveX Script兼容;
4.ASP原始代码不会传到客户端,客户端显示的是执行结果。
<Form>表单语法:
<Form name="StrName" id="StrId" action="" method="post/get">content</Form>;
<Input>类型:
<input type=text name="StrName" value="StrValue" size="num" maxlength="num" [disable]>;
<input type=password name="StrName" value="StrValue">;
<input type=radio name="StrName" value="StrValue" [checked]>;
<input type=checkbox name="StrName" value="StrValue" [checked]>;
<INPUT type=file NAME="StrName" SIZE="20">
<input type=hidden name="StrName" value="StrValue">
<input type="submit" name="StrName" value="StrValue">
<input type="reset" name="StrName" value="StrValue">
<input type="button" name="StrName" value="StrValue">
<select name="StrName" [multiple]><option value="StrValue" selected>text[<option>n]</select>
<textarea name="StrName" rows="num" cols="num">text</textarea>
<frameset>语法:
<frameset rows/cols="num,num/*.."><frame name="StrName" src="StrSrc">[<frame>n [<frameset>..</frameset>]]</frameset>
<noframe><body>warning!</body></noframe> 无框架提示;
控制框架内容:<a href="StrSrc" target="StrFrameName"> 就可以了。
用JavaScript: Document.frame.StrFrameName.Location="StrSrc";
VBscript常用函数:
1.数值型函数:
abs(num): 返回绝对值
sgn(num): num>0 1; num=0 0; num<0 -1;判断数值正负
hex(num): 返回十六进制值 直接表示:&Hxx 最大8位
oct(num): 返回八进制值 直接表示:&Oxx 最大8位
sqr(num): 返回平方根 num>0
int(num): 取整 int(99.8)=99; int(-99.2)=100
fix(num): 取整 fix(99.8)=99; fix(-99.2)=99
round(num,n): 四舍五入取小数位 round(3.14159,3)=3.142 中点数值四舍五入为近偶取整 round(3.25,1)=3.2
log(num): 取以e为底的对数 num>0
exp(n): 取e的n次幂 通常用 num^n
sin(num): 三角函数,以弧度为值计算 (角度*Pai)/180=弧度 con(num); tan(num); atn(num)
2.字符串函数:
len(str):计算字符串长度 中文字符长度也计为一!
mid(str,起始字符,[读取长度]):截取字符串中间子字符串
left(str,nlen):从左边起截取nlen长度子字符串
right(str,nlen):从右边起截取nlen长度子字符串
Lcase(str):字符串转成小写
Ucase(str):字符串转成大写
trim(str):去除字符串两端空格
Ltrim(str):去除字符串左侧空格
Rtrim(str):去除字符串右侧空格
replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串
注:默认值:起始字符 1;替代次数 不限;比较方法 区分大小写(0)
InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串 可选参数需同时选 返回起始位置
InStrRev(str,查找字符串[,起始字符][,比较方法]):反向检测是否包含子字符串 返回起始位置
space(n):构造n个空格的字符串
string(n,str):构造由n个str第一个字符组成的字符串
StrReverse(str):反转字符串
split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组 可选参数需同时选
3.数据类型转换函数:
Cint(str):转换正数 True -1;False 0;日期 距离1899/12/31天数;时间 上午段 0;下午段 1;
Cstr(str):日期 输出格式 yyyy/mm/dd;时间 输出格式 Am/Pm hh:mm:ss
Clng(str):与Cin()类似
Cbool(num):num不为零 True;反之 False
Cdate(str):转换日期格式 0:#Am 12:00:00#;正数 距离1899/12/31天数的日期;浮点数 日期+小数时间
Cbyte(num):num<255 转换为字节
Csng(str):转换为单精度数值
Cdbl(str):转换为双精度数值
Ccur(str):转换为现金格式
4.时间函数:
date:取系统当前日期
time:取系统当前时间
now:取系统当前时间及日期值 Datetime类型
timer:取当前时间距离零点秒值,计时器,可计算时间差
DateAdd(间隔单位,间隔值,日期):推算相邻日期
DateDiff(间隔单位,日期一,日期二):计算时间差 日期二-日期一
Datepart(间隔单位,日期):计算日期的间隔单位值
Dateserial(date):输出日期值(按序列计算)
Timeserial(time):输出时间值(按序列计算)
DateValue(datetime):取出字符串中日期值
Timevalue(datetime):取出字符串中时间值
weekday(date):计算星期几
MonthName(date):输出月分名
year(datetime):截取年份
month(datetime):截取月份
day(datetime):截取日
hour(datetime):截取小时
minute(datetime):截取分钟
second(datetime):截取秒
5.其它函数:
Array(unit,..):动态生成数组
Asc(str):输出字符串第一个字符的ASCII码
Chr(asc):转换ASCII为字符 Enter:Chr(13)&Chr(10)
Filter(数组名称,关键字符串,[,包含][,比较方法]):
将字符串数组中含有关键字符串的元素存成新的数组(默认) [包含]为false则取不包含的元素
Join(ArrayName):将数组中元素连成字符串
Ubound(ArrayName[,维数]):取得数组相应维数的上界
Lbound(ArrayName[,维数]):取得数组相应维数的下界 一般为0
Randmize n:启动随机数种子
Rnd(n):取得随机数,n>0或为空,取序列下一随机值,n<0,随机值相同,n=0,生产与上一随机值相同的数
取介于A和B之间的随机正数C,公式:C=Int((B-A+1)*Rnd+A) 条件(B>A)
子程序和自定义函数
Sub StrSubName Function StrFunName(arg[1],..)
子程序体 函数体
Exit Sub 中途跳出 Exit Function 中途跳出
End Sub StrFunName=Value 返回值
End Function
[call] StrSubName 引用子程序 Var=StrFunName(arg[1],..) 引用函数
子程序和自定义函数可以递归调用;
ASP六大对象常用语句示范:
Response:
Response.write StrVar/"String":向网页写出参数值或字符串 等同于在Html标记中嵌入<%=StrVar/"String"%>
Response.End:停止页面编译,并将已经编译内容输出到浏览器
Response.Buffer=True&#124;False:页面编译时是否使用缓存的设置,一般在页面头部设置
Response.Flush:强制输出页面已编译部分内容
Response.Clear:将缓冲区内的数据清除
Response.Redirect URL:停止页面编译或输出,转载指定所需页面
Response.IsClientConnected:返回True&#124;False,检测用户是否还处于连接状态
Response.Charset(CharsetName):设置页面编码类型,即<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
Response.ContentType [= ContentType ]:设置页面文件类型,同上
Response.Expires [= number]:设置页面失效时间,单位分钟
Response.ExpiresAbsolute [= [date] [time]]:设置页面失效的绝对时间
Response.Status = StatusDescription:设置页面状态描述
Request:
Request("PassStrName"):读取网页传递值,包括表单及以?PassStrName=value&PassStrName_n=value_n形式
Request[.collection&#124;property&#124;method](variable)
Request.querystring("PassStrName"):读取Get方法传递的表单值和?PassStrName=value
Request.QueryString(Varible)[(Index).Count]
Request.form("PassStrName"):读取Post方法传递的纯表单域的值
Request.Form(Parameter)[(Index).Count]
Request.ServerVaribles(Server Environment Variable):读取客户端系统环境变量,详见参考
Request.BinaryRead(Count):读取指定字节数的传送值
Request.TotalBytes:查询体的长度,以字节为单位,只读
注:同名表单如:CheckBox如有多项值,传递形式如右,StrName=value1,value2,...需要用Split函数分割各项值
Multiple的Select表单与CheckBox类似,TextArea的值可包含换行字符,用Replace转为<br>,以满足格式需要
Session:(用户全局变量)
Session("SesName")=value:存储Session变量值,也可读取该值
Session("SesName")=Empty:判断Session值是否存在的两种方法
IsEmpty(Session("SesName"))=True&#124;False:判断Session值是否存在的两种方法
Session.TimeOut=num:设置Session变量的存在时效,单位分钟
Session.Abandon:清除所有Session变量值
Session.SessionID:Session变量的ID序列号,只读
Application:(应用程序全局变量)
Application("AppName")=value:存储Application变量值,也可读取该值
Application("AppName")=Empty:判断Application值是否存在的两种方法
IsEmpty(Application("AppName"))=True&#124;False:判断Application值是否存在的两种方法
Application.Lock:Application变量值锁定,防止同时更改变量值
Application.UnLock:Application变量值解锁,允许更改变量值
注:Session与Application变量都可以用来存储数组和系统对象,引用方法是变量名相当于数组名而已,
但不能直接改变其值,需要借助临时数组修改值后,再赋给Session与Application变量
Global.asa文件的结构:<% @language="VBscript"%>
<% Sub Application_OnStart ...End Sub
Sub Application_OnEnd ... End Sub
Sub Session_OnStart ...End Sub
Sub Session_OnEnd ... End Sub%>
Server:
Server.MapPath("FileUrl"):映射文件名的服务器站点绝对地址,Path=Server.MapPath(./)可以得到虚拟目录根路径
Server.HtmlEncode("string"):转换为可以直接显示带Html格式的字符串,如:<,>等
Server.URLEncode( "string"):转换为浏览器地址编码
set Var=Server.CreatObject("ObjName"):创建对象变量
Server.ScriptTimeout = NumSeconds:ASP程序页面执行时限,以秒为单位
Cookies: 存储在用户本机的临时变量,每个Cookie的最大字节4KB,最多可以有300个Cookie 1.2MB
Response.cookies("StrCookieName")=value:存储Cookie变量值,也可读取该值
Response.cookies("StrCookieName")="":判断是否为空
Response.cookies("StrCookieName").Expires=Date:变量有效期,以天为单位,小于当前时间立即失效
Response.Cookies(Cookie[(key).Attribute]):标准语法
ObjectContext 控制ASP的事务处理
ObjectContext.OnTransactionAbort:由放弃的事务处理事件激发,在脚本完成处理后发生
ObjectContext.OnTransactionCommit:由成功的事务处理事件激发,在脚本完成处理后发生
ObjectContext.SetAbort:显式的放弃一次事务处理
ObjectContext.SetComplete:覆盖前面任何调用ObjectContext.SetAbort方法的调用
Msgbox "string"/StrName:VBscript提示框
表单的Onsubmit事件:在同一页面写入 Function FormName_onsubmit()..FormName_onsubmit=True/False..end Function,
页面会在提交前先执行语句,并根据返回值判断是否完成提交任务。
数据库连接字符串举例:
Access2000:
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dbase\liuyan.mdb")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dbase\liuyan.mdb")&";Password=admin"
Recordset.Open "数据表名", conn, 2, 2
SqlServer2000:
conn.Open "Provider=SQLOLEDB.1;User ID=sa;Password=admin;Initial Catalog=pubs;Data Source=server\garlmrm"
conn.Open "provider=SQLOLEDB;data source=hyserver;uid=sa;pwd=;database=pubs"
Recordset.Open StrSQL, conn, 2, 2
Dbase:(?)
conn Open "Driver={Microsoft dBase Driver};SourceType=DB;SourceDB=" & Server.MapPath( "目录名" )
Recordset.Open StrSQL, conn, 2, 2
FoxBase:
conn Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" & Server.MapPath( "目录名" )
Recordset.Open DBF文件名或Select语句, conn, 2, 2
conn Open "Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=" & Server.MapPath( "DBC数据库文件名" )
Recordset.Open DBF文件名或Select语句, conn, 2, 2
Excel:
conn Open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & Server.MapPath( "XLS文件名" )
Recordset.Open "Select * From ["&sheet&"$]",conn,2,2
注:使用DBF、DBC、Excel数据库,下面几点要注意:Excel数据库只能读取、增加记录、修改记录,但不能删除记录;
DBF、DBC可以读取记录、增加记录、删除记录、修改记录,但是在增加记录时,任何一个字段值都不能为空,由此
可看出局限性很大,所以尽可能地用MDB或SQL数据库。
SQL函数
使用SQL函数,您可以在一个SELECT语句的查询当中,直接计算数据库资料的平
均值、总数、最小值、最大值、总和、标准差、变异数等统计。使用Recordset对象
时,也可使用这些SQL函数。
SQL函数包括如下:
Avg函数:计算查询中某一特定字段资料的算术平均值。
Count函数:计算符合查询条件的记录数。
Min, Max函数:传回指定字段之中符合查询条件的第一条、最末条记录的资料。
First, Last函数:传回指定字段之中符合查询条件的最小值、最大值。
StDev函数:计算指定字段之中符合查询条件的标准差。
Sum函数:计算指定字段之中符合查询条件的资料总和。
Var,函数:计算指定字段之中符合查询条件的变异数估计值。
ADO如何使用SQL函数呢?
譬如ASP程式码rs21.asp,在用户端使用浏览器,浏览执行的结果,显示执行SQL函数
的结果。
ASP程式码rs21.asp如下:
<%
Set conn1 = Server.CreateObject("ADODB.Connection")
conn1.Open "DBQ=" & Server.MapPath("ntopsamp.mdb") & ";Driver=
{Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"
Set rs2 = Server.CreateObject("ADODB.Recordset")
SqlStr = "SELECT Avg(价格) As 平均 From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Avg: " & rs2("平均")
rs2.Close
SqlStr = "SELECT Count(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Count(价格): " & rs2(0)
rs2.Close
SqlStr = "SELECT Count(*) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Count(*): " & rs2(0)
rs2.Close
SqlStr = "SELECT Sum(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Sum: " & rs2(0)
rs2.Close
SqlStr = "SELECT Min(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Min: " & rs2(0)
rs2.Close
SqlStr = "SELECT Max(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Max: " & rs2(0)
rs2.Close
SqlStr = "SELECT First(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>First(价格): " & rs2(0)
rs2.Close
SqlStr = "SELECT Last(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Last(价格): " & rs2(0)
rs2.Close
SqlStr = "SELECT First(代号) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>First(代号): " & rs2(0)
rs2.Close
SqlStr = "SELECT Last(代号) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Last(代号): " & rs2(0)
rs2.Close
SqlStr = "SELECT StDev(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>StDev: " & rs2(0)
rs2.Close
SqlStr = "SELECT Var(价格) From 产品"
rs2.Open SqlStr,conn1,1,1
Response.Write "<BR>Var: " & rs2(0)
rs2.Close
conn1.Close
%>
SQL函数,详细描述如下:
Avg函数
Avg函数,计算查询中某一特定字段资料的算术平均值。
语法为Avg(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可
以是一个内部或使用者定义的,但不能为其它的SQL函数。
Avg函数在计算时,不包含任何值为 Null 的资料。
Count函数
Count函数,计算符合查询条件的记录条数。
语法为Count (运算式)。运算式,可为字段名称、*、多个字段名称、运算式、
或一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的SQL函数。
Count 函数於计算时,不包含任何值为 Null 的资料。
但是,Count(*) 则计算所有符合查询条件的记录条数,包含那些Null的资料。
如果Count(字段名称) 的字段名称为多个字段,将字段名称之间使用 & 分隔。
多个字段当中,至少有一个字段的值不为Null的情况下,Count函数才会计算为一条
记录。如果多个字段都为Null,则不算是一条记录。譬如:
SELECT Count(价格 & 代号) From 产品
First/Last函数
First函数、Last函数,传回指定字段之中符合查询条件的第一条、最末条记录
的资料。
语法为First(运算式) 和 Last(运算式)。运算式,可为字段名称、运算式、或
一个函数,此函数可以是一个内部或使用者定义的,但不能为其它的SQL函数。
Min/Max函数
Min函数、Max函数,传回指定字段之中符合查询条件的最小值、最大值。
ado如何使用sql函数?
语法为Min(运算式) 和 Max(运算式)。运算式,可为字段名称、运算式、或一个
函数,此函数可以是一个内部或使用者定义的,但不能为其它的SQL函数。
StDev函数
StDev函数,计算指定字段之中符合查询条件的标准差。
语法为StDev(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数
可以是一个内部或使用者定义的,但不能为其它的SQL函数。
如果符合查询条件的记录为两个以下时,StDev函数将传回一个Null 值,该表示
不能计算标准差。
Sum函数
Sum函数,计算指定字段之中符合查询条件的资料总和。
语法为Sum(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可
以是一个内部或使用者定义的,但不能为其它的SQL函数。
Sum函数可使用两个字段资料运算式,譬如计算产品的单价及数量字段的合计:
SELECT Sum(单价 * 数量) FROM 产品
Var函数
Var函数,计算指定字段之中符合查询条件的变异数估计值。
语法为Var(运算式)。运算式,可为字段名称、运算式、或一个函数,此函数可
以是一个内部或使用者定义的,但不能为其它的SQL函数。
如果符合查询条件的记录为两个以下时,Var函数将传回一个Null 值,该表示不
能计算变异数。
相关推荐
这个"ASP语法大全.rar"压缩包很可能是提供了一份关于ASP编程的全面指南,帮助学习者理解和掌握ASP的基本语法和高级特性。下面将详细阐述ASP的核心知识点。 1. **基础语法** ASP页面通常以.asp为扩展名,包含HTML...
### ASP 语法大全 本文将全面讲解 ASP (Active Server Pages) 的基础语法,帮助读者在较短的时间内掌握 ASP 的核心概念与应用方法。 #### 一、ASP 基础介绍 ASP 是一种用于创建动态网页的技术,它允许开发者在...
### ASP语法概览 #### 标签与脚本标记 ASP页面主要由HTML标记、服务器端脚本标记以及客户端脚本标记组成。其中服务器端脚本标记为`<% %>`,用于嵌入VBScript或JScript等脚本语言。 例如: ```asp Dim a, b a = 10...
ASP.net程序语法 对ASP.net程序语法有详细的介绍 是邮电大学的知识
**EditPlus中的ASP语法** EditPlus是一款功能强大的文本编辑器,尤其在编程语言的支持上表现卓越,包括对ASP(Active Server Pages)语法的完美支持。ASP是一种由微软开发的服务器端脚本环境,用于创建动态网页和...
ASP 基本语法 教程,ASP手册,电子书下载。内容简介: Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。使用ASP可以组合HTML页、脚本命令和ActiveX组件以...
### JS常用语法大全 #### 1. 输出当前时间 ```html now() %> ``` 这里出现了一个错误,`now()` 并不是JavaScript或ASP内置函数。在JavaScript中,可以使用`Date`对象来获取当前时间: ```javascript document....
这篇详细的ASP帮助文档集合,旨在为初学者和经验丰富的开发者提供全面的ASP语法指导和实践参考。 "ASP帮助.chm"是一个典型的Windows帮助文件,通常包含了ASP的完整教程、语法参考、函数库以及常见问题解答。在这样...
asp基础语法asp基础语法asp基础语法asp基础语法asp基础语法
ASP.NET C# 基本语法 C# 语言是微软公司推出的现代、面向对象、安全的编程语言。它是 .NET_framework 的一部分,可以与 ASP.NET 结合使用来开发 Web 应用程序。下面是 C# 语言的基本语法和语句。 变量声明 在 C# ...
在ASP中,编辑器的自动提示语法同样关键,可以辅助开发者快速理解和使用各种内置对象、服务器端控件以及.NET框架中的类库,降低学习曲线,提升开发效率。 HTML(HyperText Markup Language)是网页内容的结构标准,...
下面,我们将深入探讨C#语法的一些核心知识点,以及在ASP.NET中如何运用这些知识点。 1. **基础语法**: - 变量与数据类型:C#支持基本数据类型(如int, string, bool)以及引用类型。声明变量时需指定其类型,...
本笔记主要涵盖了ASP.NET的基础语法和核心概念,旨在帮助初学者和有经验的开发者更好地理解和运用ASP.NET进行Web开发。 1. **页面生命周期** ASP.NET页面生命周期包括初始化、加载、验证、呈现和卸载等阶段。在...
### ASP基本语法操作及相关应用详解 #### 一、ASP简介与基本语法操作 **ASP (Active Server Pages)** 是一种服务器端脚本环境,可用于创建动态交互式网页。它支持多种编程语言,如VBScript和JScript等。在ASP中,...
包中含ASP_JS_Support.zxp,asp_js_support_deprecated.zxp,ASPNet_Support.zxp,JSP_Support.zxp,4个文件,其中ASP_JS_Support.zxp可能不能正常安装,请安装asp_js_support_deprecated.zxp。 Adobe Extension...
asp.net的入门,适合初学者,C#语法基础的最好。
ASP编程中的SQL语法是Web开发中的重要组成部分,特别是在构建动态网站时,用于与数据库进行交互。本文主要聚焦在ASP与数据库的连接以及SQL的基本操作,包括查询、更新、删除、添加记录,以及统计函数和数据表的操作...