ASP代码相关知识点.docx
- 文档编号:12647912
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:12
- 大小:19.92KB
ASP代码相关知识点.docx
《ASP代码相关知识点.docx》由会员分享,可在线阅读,更多相关《ASP代码相关知识点.docx(12页珍藏版)》请在冰点文库上搜索。
ASP代码相关知识点
ASP代码相关知识点
一、常用VB脚本知识
1、运算符
算术运算符
比较运算符
逻辑运算符
描述
符号
描述
符号
描述
符号
求幂
^
等于
=
逻辑非
Not
负号
-
不等于
<>
逻辑与
And
乘
*
小于
<
逻辑或
Or
除
/
大于
>
逻辑异或
Xor
整除
\
小于等于
<=
逻辑等价
Eqv
求余
Mod
大于等于
>=
逻辑隐含
Imp
加
+
对象引用比较
Is
减
-
字符串连接
&
当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。
所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。
2.变量
2.1声明变量
声明变量的一种方式是使用Dim语句、Public语句和Private语句在Script中显式声明变量。
例如:
DimDegreesFahrenheit
声明多个变量时,使用逗号分隔变量。
例如:
DimTop,Bottom,Left,Right
另一种方式是通过直接在Script中使用变量名这一简单方式隐式声明变量。
这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行Script时出现意外的结果。
因此,最好使用OptionExplicit语句显式声明所有变量,并将其作为Script的第一条语句。
2.2命名规则
变量命名必须遵循VBScript的标准命名规则。
变量命名必须遵循:
∙第一个字符必须是字母。
∙不能包含嵌入的句点。
∙长度不能超过255个字符。
∙在被声明的作用域内必须唯一。
3.条件语句
∙If...Then...Else语句
∙SelectCase语句
3.1使用If...Then...Else进行判断
If...Then...Else语句用于计算条件是否为True或False,并且根据计算结果指定要运行的语句。
通常,条件是使用比较运算符对值或变量进行比较的表达式。
If...Then...Else语句可以按照需要进行嵌套。
If条件表达式then
条件为真时执行的语句组
Else
条件为假时执行的语句组
Endif
条件为True时运行语句
下例示范了单行语法。
SubFixDate()
DimmyDate
myDate=#2/13/95#
IfmyDate EndSub 多行(或块)语法包含EndIf语句,如下所示: SubAlertUser(value) Ifvalue=0Then AlertLabel.ForeColor=vbRed AlertLabel.Font.Bold=True AlertLabel.Font.Italic=True EndIf EndSub 条件为True和False时分别运行某些语句 可以使用If...Then...Else语句定义两个可执行语句块: 条件为True时运行某一语句块,条件为False时运行另一语句块。 Ifvalue=0Then AlertLabel.ForeColor=vbRed AlertLabel.Font.Bold=True AlertLabel.Font.Italic=True Else AlertLabel.Forecolor=vbBlack AlertLabel.Font.Bold=False AlertLabel.Font.Italic=False EndIf 对多个条件进行判断 If...Then...Else语句的一种变形允许您从多个条件中选择,即添加ElseIf子句以扩充If...Then...Else语句的功能,使您可以控制基于多种可能的程序流程。 例如: Ifvalue=0Then MsgBoxvalue ElseIfvalue=1Then MsgBoxvalue ElseIfvalue=2then Msgboxvalue Else Msgbox"数值超出范围! " EndIf 可以添加任意多个ElseIf子句以提供多种选择。 使用多个ElseIf子句经常会变得很累赘。 在多个条件中进行选择的更好方法是使用SelectCase语句。 3.2使用SelectCase进行判断 SelectCase结构提供了If...Then...ElseIf结构的一个变通形式,可以从多个语句块中选择执行其中的一个。 SelectCase语句提供的功能与If...Then...Else语句类似,但是可以使代码更加简练易读。 SelectCase结构在其开始处使用一个只计算一次的简单测试表达式。 表达式的结果将与结构中每个Case的值比较。 如果匹配,则执行与该Case关联的语句块: SelectCaseDocument.Form1.CardType.Options(SelectedIndex).Text Case"MasterCard" DisplayMCLogo ValidateMCAccount Case"Visa" DisplayVisaLogo ValidateVisaAccount Case"AmericanExpress" DisplayAMEXCOLogo ValidateAMEXCOAccount CaseElse DisplayUnknownImage PromptAgain EndSelect 4、循环语句 ∙Do...Loop: 当(或直到)条件为True时循环。 ∙While...Wend: 当条件为True时循环。 ∙For...Next: 指定循环次数,使用计数器重复运行语句。 ∙ForEach...Next: 对于集合中的每项或数组中的每个元素,重复执行一组语句。 4.1使用Do循环 DoWhile条件 循环语句组 Loop SubChkFirstWhile() Dimcounter,myNum counter=0 myNum=20 DoWhilemyNum>10 myNum=myNum-1 counter=counter+1 Loop MsgBox"循环重复了"&counter&"次。 " EndSub SubChkLastWhile() Dimcounter,myNum counter=0 myNum=9 Do myNum=myNum-1 counter=counter+1 LoopWhilemyNum>10 MsgBox"循环重复了"&counter&"次。 " EndSub 4.2退出循环 ExitDo语句用于退出Do...Loop循环。 在下面的示例中,myNum的初始值将导致死循环。 If...Then...Else语句检查此条件,防止出现死循环。 SubExitExample() Dimcounter,myNum counter=0 myNum=9 DoUntilmyNum=10 myNum=myNum-1 counter=counter+1 IfmyNum<10ThenExitDo Loop MsgBox"循环重复了"&counter&"次。 " EndSub 4.3使用While...Wend While...Wend语句是为那些熟悉其用法的用户提供的。 但是由于While...Wend缺少灵活性,所以建议最好使用Do...Loop语句。 4.4使用For...Next For...Next语句用于将语句块运行指定的次数。 在循环中使用计数器变量,该变量的值随每一次循环增加或减少。 For循环变量=初值to终值[step步长值] 循环语句组 next 例如,下面的示例将过程MyProc重复执行50次。 For语句指定计数器变量x及其起始值与终止值。 Next语句使计数器变量每次加1。 SubDoMyProc50Times() Dimx Forx=1To50 MyProc Next EndSub 关键字Step用于指定计数器变量每次增加或减少的值。 在下面的示例中,计数器变量j每次加2。 循环结束后,total的值为2、4、6、8和10的总和。 SubTwosTotal() Dimj,total Forj=2To10Step2 total=total+j Next MsgBox"总和为"&total&"。 " EndSub 要使计数器变量递减,可将Step设为负值。 ExitFor语句用于在计数器达到其终止值之前退出For...Next语句。 因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在If...Then...Else语句的True语句块中使用ExitFor语句。 如果条件为False,循环将照常运行。 二、Asp内置对象 Request: 用于提取从客户端传递或提交的信息 Response: 用于向客户端反馈信息或做重定向 Application: 应用程序级变量,用于保存整个服务器上的相关活动信息,常用来做网站访问计数器 Session: 阶段级变量,用于保存某一个用户在网站上的一次连接的活动信息 Cookie: 常用于把保存或提取客户端上的相关信息 Server: 常用于获取服务器和客户端的环境信息 1.Request对象 1.1Request.querystring: 用于提取客户端通过浏览器传递的参数,或是提取用Get方法提交的表单中的信息 1.2Request.Form: 用于提取用Post方法提交的表单中的信息 2.Response对象 2.1Response.write方法: 用于输出信息 Response.redirect方法: 用于重定向到某个地址 3.Server对象 Server.createobject方法,用于创建服务器上已经注册的各种对象 Server.mappath方法: 用于把一个虚拟路径转换为物理路径 三、Asp连接数据库 1、ASP的对象存取数据库方法 在ASP中,用来存取数据库的对象统称ADO(ActiveDataObjects),主要含有三种对象: Connection、Recordset、Command Connection: 负责打开或连接数据 Recordset: 负责存取数据表 Command: 负责对数据库执行行动查询命令 2、连接各数据库的驱动程序 连接各数据库可以使用驱动程序,也可以使用数据源,不过我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦。 ODBC链接 适合数据库类型 链接方式 access "Driver={microsoftaccessdriver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;" Oracle "Driver={microsoftodbcfororacle};server=oraclesever.world;uid=admin;pwd=pass;" MSSQLserver "Driver={sqlserver};server=servername;database=dbname;uid=sa;pwd=pass;" MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;" OLEDB链接 适合的数据库类型 链接方式 access "Provider=microsoft.jet.oledb.4.0;datasource=your_database_path;userid=admin;password=pass;" Oracle "Provider=OraOLEDB.Oracle;datasource=dbname;userid=admin;password=pass;" MSSQLServer "Provider=SQLOLEDB;datasource=machinename;initialcatalog=dbname;userid=sa;password=pass;" 而我们在一般情况下使用Access的数据库比较多,在这里我建议大家连接Access数据库使用下面的方法: dimconn‘声明一个连接变量Conn setconn=server.createobject("adodb.connection")‘创建一个连接对象 conn.open="provider=microsoft.jet.oledb.4.0;"&"datasource="&server.mappath("../db/bbs.mdb")‘打开连接对象 其中../db/bbs.mdb是你的数据库存放的相对路径! 3.创建记录集 Setrsbbs=server.createobject(“adodb.recordset”) ‘创建一个名为rsbbs的记录集 Rssql=”select*frombbsmain”‘设置记录集的查询内容为bbsmain表中的全部内容 Rsbbs.openrssql,conn,2,3‘设置打开记录集 其中2,3为记录集的参数,具体为: rs.opensql,conn,A,B A: ADOPenforwardonly(=0) 只读,且当前数据记录只能向下移动。 ADOPenkeyset(=1) 只读,当前数据记录可自由移动。 ADOpendynamic(=2) 可读写,当前数据记录可自由移动。 ADOpenstatic(=3) 可读写,当前数据记录可自由移动,可看到新增记录。 B: ADLockreadonly(=1) 缺省锁定类型,记录集是只读的,不能修改记录。 ADLockpessimistic(=2) 悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录,只要编辑一开始,则立即锁住记录。 ADLockoptimitic(=3) 乐观锁定,直到用Update方法提交更新的记录时才锁定记录。 ADLockbatchoptimistic(=4) 批量乐观锁定,允许修改多个记录,只有调用UPDATEBATCH方法时才锁定记录。 4.记录集方法 ⏹Move: 将游标指针移动到指定的记录数位置 ⏹MoveFirst: 移动到第一条记录位置 ⏹MoveNext: 移动到当前记录的下一条记录 ⏹MovePrevious: 移动到当前记录的上一条记录 ⏹MoveLast: 移动到最后一条记录 ⏹AbsolutePosition: 设置和读取当前记录的位置顺序号 ⏹BOF: 指向第一条记录的前面 ⏹EOF: 指向最后一条记录的后面 ⏹RecordCount: 统计整个记录数 ⏹Addnew ⏹Update ⏹Delete 5.记录集分页显示: ●AbsolutePage: 当前记录在总页面中的页数编号 ●AbsolutePosition: 绝对位置 ●PageCount: 数据存在的页数 ●pageSize: 每页的记录数 RecordCount: 统计记录集的记录总数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 代码 相关 知识点