ASP数组使用详解(有用的实例)

合集下载

ASP接口说明

ASP接口说明

ASP接口说明查询页面里的关键字定义为key,查询页面数定义为page,查询页面的结果热门列表的值保存在hotlist.asp这个页面的showhot函数里(它返回一个2维数组),查询关键字的结果保存在searchlist.asp这个页面的show函数里(返回一个2维数组),只需要把hotlist.asp和searchlist.asp包含到查询结果页面(<!--#includefile="hotlist.asp"--><!--#include file="searchlist.asp"-->)然后分别定义2个变量得到这2个函数值。

循环下即可显示热门列表和关键字列表的值,具体操作见search.asp和showall.asp这2个页面。

数组arrary是个2维数组:Arrary(x,0)是完成状态,1代表完成,0表示未完成。

Arrary(x,1)种子名称。

Arrary(x,2)种子大小。

Arrary(x,3)种子地址。

数组arrayhott也是个2维数组Arrayhott(x,0)种子名称。

Arrayhott(x,1)种子大小。

Arrayhott(x,2)种子地址。

使用范例:建一个静态页面(这里有个search.asp可以参考)只需要一个form 里面放一个key(要搜索的关键字)和一个page(页面数字(不合法的自动默认为1),超过页数的默认为搜索结果的最后一页),form指向一个动态页面,里面要包含hostlist.asp,和searchlist.aso这2个页面(这里有个showall.asp可以参考)在这个动态页面里提取2个函数一个showhot()一个是show(request(“key”),request(“page”)[这2个参数分别是刚才从第一个页面(search.asp)传过来的关键字和页面数])函数,这2个函数分别返回2个分别包含热门列表和关键字结果的2维数组,在这个页面里定义2个变量把这2个函数赋值过去然后在循环一次就可以了显示结果。

ASP(FSO)通过数组给文件列表排序

ASP(FSO)通过数组给文件列表排序

ASP(FSO)通过数组给文件列表排序当您使用FILESYSTEMOBJECT(fso)对象获得某个目录下的文件列表的时候,你有没有发现无法控制它们的排序方式,比如按照名字排序,按照扩展名排序,按照文件大小排序等等,让我们试着用数组给它们排排序儿。

如果您想通过名字排序,那将是非常简单的,但是假如你想通过文件大小或者文件创立时间等等来排序的时候,那么将有点麻烦。

我们将通过二维数组做到这一点。

下面的代码演示了如何通过选择排序方式达到的我们目的,单击排序,点两次就反着排了。

<HTML><HEAD><TITLE>文件排序演示</TITLE></HEAD><BODY><%' 设定一个演示目录,:)CONST DIRECTORY = "/"' 用常数定义排序方式CONST FILE_NAME = 0 '按照名字排序……依次类推CONST FILE_EXT = 1CONST FILE_TYPE = 2CONST FILE_SIZE = 3CONST FILE_CREATED = 4CONST FILE_MODIFIED = 5CONST FILE_ACCESSED = 6'获得排序命令,默认为按照名字排序req = Request("sortBy")If Len(req) < 1 Then sortBy = 0 Else sortBy = CInt(req)req = Request("priorSort")If Len(req) < 1 Then priorSort = -1 Else priorSort = CInt(req)'设置倒序If sortBy = priorSort Thenreverse = truepriorSort = -1Elsereverse = falsepriorSort = sortByEnd If' 接下来开始我们真正的代码了。

ASP中连接数据库的错误解决办法,ASP 编程中 20 个非常有用的例子

ASP中连接数据库的错误解决办法,ASP 编程中 20 个非常有用的例子

/download/info /1701.htm/Program/Asp/112 TM562008.html<%dim ConnStringset conn=server.CreateObject("adodb.connection")ConnString="provider=microsoft.jet.oledb.4.0;data source=" & server.MapPath("#kucun.mdb") conn.open ConnString'连接数据库%>2000下使用asp访问数据库时,在conn.open始终发生8007007f错误,重装IIS和access均得不到解决。

我在网上查到的解决办法是将oledb32.dll 解压到以下两个目录,然后重启服务器:1) C:\WINNT\system32\dllCache2) C:\Program Files\Common Files\System\OLE DB<%dim conn,exec,rsset conn=server.createobject("adodb.connetion")conn.open "driver={microsoft access driver(*.mdb)};dbq="&server.mappath("show.mdb")exec="select * from list"set rs=server.createobject("adodb.recordset")rs.open,exec,conn,1,1%>ASP中连接数据库的错误解决新解决办法Provider 错误80004005 未指定的错误的新解决办法.这两天运行的好好的点击统计程序突然出错了,显示的就是:------------------------------------------Provider 错误80004005未指定的错误------------------------------------------在网上找了一大圈,发现大家提供的办法我都试过了,没有一个有作用的.方法有以下:1.开始运行regsvr32 jscript.dll (命令功能:修复Java动态链接库)开始运行regsvr32 vbscript.dll(命令功能:修复VB动态链接库)开始运行iisreset (命令功能:重启IIS)开始运行msjetoledb40.dll2.给系统临时文件夹%windir%/temp/ 加上IUSR_COMPUTER 用户的读写权限3.ASP连接Access数据库的时候,如果频繁刷新页面,出现80004005 未指定错误,数据库不能连接,但是过大约10多分钟后再刷新就可以连接。

ASP数据库简单操作教程.

ASP数据库简单操作教程.

ASP数据库简单操作教程加入收藏夹首页-Asp ASP数据库简单操作教程<1 >.数据库连接(用来单独编制连接文件conn.asp < % Set conn =Server.CreateObject("ADODB.Co nn ectio n" conn .Open "DRIVER={Microsoft Access Driver (*mdb}; DBQ=" & Server.MapPath("\bbs\db1\user.mdb" % > (用来连接目录下的user.mdb数据库<2 >显示数据库记录原理:将数据库中的记录一一显示到客户端浏览器,依次读出数据库中的每一条记录如果是从头到尾:用循环并判断指针是否到末使用:not rs.eof如果是从尾到头:用循环并判断指针是否到开始使用:not rs.bof < ! --# in clude file=c onn. asp-- > (包含conn .asp 用来打开目录下的user.mdb数据库< % set rs=server.CreateObject("adodb.recordset" (建立recordset对象sqlstr="select * from message" ---- >(message为数据库中的一个数据表,即你要显示的数据所存放的数据表rs.open sqlstr,conn,1,3 ---- >表示打开数据库的方式rs.movefirst ---- >(将指针移到第一条记录while not rs.eof ---- >(判断指针是否至U末尾response.write(rs("name" ---- >显示数据表messaged的name字段rs.movenext---- >(将指针移动至U下一条记录wend ---- >(循环结束 ----------------------------------------------------- rs.close conn. close 这几句是用来关闭数据库set rs=no th ing set conn=nothing ----------- % > 其中response对象是服务器向客户端浏览器发送的信息<3 >增加数据库记录增加数据库记录用到rs.addnew,rs.update两个函数< !--#include file=conn.asp-- > (包含conn.asp用来打开目录下的user.mdb数据库< % set rs=server.CreateObject("adodb.recordset" (建立recordset对象sqlstr="select * from message" ---- >(message为数据库中的一个数据表,即你要显示的数据所存放的数据表rs.open sqlstr,conn,1,3 ---- >表示打开数据库的方式rs.addnew新增加一条记录rs("name"="xx"将xx的值传给name字段rs.update刷新数据库----------------------------------------------- rs.close conn.close这几句是用来关闭数据库set rs=nothing set conn=no thi ng -----------------------------------------------------% > .<4 >删除一条记录删除数据库记录主要用到rs.delete,rs.update < !--#includefile=conn.asp-- > (包含conn.asp用来打开目录下的user.mdb数据库< %dim name name="xx" set rs=server.CreateObject("adodb.recordset'建立recordset对象sqlstr="select * from message" ---- >(messag为数据库中的一个数据表,即你要显示的数据所存放的数据表rs.open sqlstr,co nn ,1,3 ---- >表示打开数据库的方式 --------------------------------------------------- while not rs.eof if rs.(" name"=n ame the n rs.deleters.update查询数据表中的name字段的值是否等于变量name的值"xx",如果符合就执行删除,else否则继续查询,直到指针到末尾为止rs.movenext emd if wend ---------rs.close conn .close这几句是用来关闭数据库set rs=nothing set conn=no thi ng --------- ------------------------------------------ % > <5 > 关于数据库的查询(a查询字段为字符型< % dim user,pass,qq,mail,message user=request.form("user" pass=request.form("pass" qq=request.form("qq" mail=request.form("mail" message=request.form("message" iftrim(user&"x"="x" or trim(pass&"x"="x" then (检测user值和pass值是否为空,可以检测到空格response.write(‘注册信息不能为空"else setrs=server.CreateObject("adodb.recordset" sqlstr="select * from user whereuser='"&user&"”'(查询user数据表中的user字段其中user字段为字符型rs.open sqlstr,c onn ,1,3 if rs.eof the n rs.add new rs("user"=user rs("pass"=pass rs("qq"=qq rs("mail"=mail rs("message"=message rs.update rs.close conn. close set rs=nothing set conn=nothing response.write(注册成功"end if rs.close conn.close set rs=nothing set conn=nothing response.write(注册重名"% >(b 查询字段为数字型< % dim num num=request.form(”num" setrs=server.CreateObject("adodb.recordset" sqlstr="select * from message where id="&num (查询message数据表中id字段的值是否与num相等,其中id为数字型rs.open sqlstr,conn,1,3 if not rs.eof then rs.delete rs.update rs.close conn.close set rs=nothing set conn=nothing response.write删除成功"end if rs.close conn.close set rs=nothing set conn=nothing response.write删除失败"% > %> 相关文章:上一篇:asp提高首页性能的一个技巧下一篇:加速ASP程序的显示速度广告也精彩朕闭。

ASP教程(Sub和Funation)

ASP教程(Sub和Funation)

Sub 过程Sub 过程是包含在Sub 和End Sub 语句之间的一组VBScript 语句,执行操作但不返回值。

Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。

如果Sub 过程无任何参数,则Sub 语句必须包含空括号()。

下面的Sub 过程使用两个固有的(或内置的)VBScript 函数,即MsgBox 和InputBox,来提示用户输入信息。

然后显示根据这些信息计算的结果。

计算由使用VBScript 创建的Function 过程完成。

此过程在以下讨论之后演示。

Sub ConvertTemp()temp = InputBox("请输入华氏温度。

", 1)MsgBox "温度为" & Celsius(temp) & " 摄氏度。

"End SubFunction 过程Function 过程是包含在Function 和End Function 语句之间的一组VBScript 语句。

Function 过程与Sub 过程类似,但是Function 过程可以返回值。

Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)。

如果Function 过程无任何参数,则Function 语句必须包含空括号()。

Function 过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。

Function 返回值的数据类型总是Variant。

在下面的示例中,Celsius 函数将华氏度换算为摄氏度。

Sub 过程ConvertTemp 调用此函数时,包含参数值的变量被传递给函数。

换算结果返回到调用过程并显示在消息框中。

Sub ConvertTemp()temp = InputBox("请输入华氏温度。

", 1)MsgBox "温度为" & Celsius(temp) & " 摄氏度。

asp中for循环的使用方法_1

asp中for循环的使用方法_1

asp中for循环的使用方法循环是指在指定情况下,多次重复执行一组语句。

最常用(for …next、do …loop),1、重复执行的语句叫循环语句。

循环语句可以分为三种类型:(1)、当条件不为假之前的时候重复执行语句。

(2)、当条件变为真之前重复执行语句。

(3)、按指定的次数重复执行语句。

2、For…Next 循环如果重复操作的次数固定,使用For…Next 循环是一个很好的选择,此外也将介绍语法很类似的For Each…Next循环,它适用在数组或集合的重复循环,(一)For…Next 在For…Next 循环的语法中使用初值、终值、步长以及循环变量来完成重复计数的工作。

当进入循环第一次执行时,循环变量便由初值开始累加一次步长,一直到等于或超过终值为止。

例如:初值为1,终值为10,步长为2,则循环将执行5 次,循环变量的值分别是1、3、5、7、9,第六次因循环变量累加到11,已经超过10 了,便不再执行循环。

3、For…Next 循环的语法如下:For 循环变量=初值To 终值Step 步长程序语句…[ Exit For]程序语句…Next说明:(1)、循环变量:这个变量通常是使用整数,但是必要时也可以是其他数值类型,他是一个数值变量。

(2)、初值:这是循环变量的初始值,为数值类型。

其值不一定是整数, 或小数,VB会自动给他取整数(3)、终值:循环变量的终值,为数值类型。

其值不一定是整数, 或小数,VB会自动给他取整数(4)、步长:循环变量每次的增加量,步长的数值类型应该和循环变量一样, 其值可以是正数(递增循环)或是负数(递减循环),当不能为0,如果没有特别指定,则步长默认为1。

(5)、循环体:在For语句和Next语句之间的语句,可以是一个或多个语句.(6)、Next:是循环终端语句,在Next后面的"循环变量"与For语句中的"循环变量"必须相同. 如:for i=0 to 10 Step 1Next执行过程:(1)、把初值1赋给循环变量i(2)、将i的值与终值10进行比较,若i10,则跳出循环,执行(5),否则执行循环体.(3)、i增加一个步长值,即i=i+1(4)、返回(2)继续执行(5)、执行Next语句后面的代码这个循环的作用是:根据FOR 语句中所的初值、终值和步长,来确定循环次数,反复执行循环体内各语句。

ASP使用缓存方法及缓存类详解

ASP使用缓存方法及缓存类详解

一、何谓ASP缓存/为什么要缓存当你的web站点采用asp技术建立的初期,可能感觉到的是asp动态网页技术带来的便利性,以及随意修改性、自如的http控制。

但是,随着访问量的增加,你一定会发现自己的站点访问速度越来越慢,IIS重新启动得越来越频繁。

接下来,你一定想优化asp,诸如更换性能更优异的数据库、建立索引、编写存储过程等等。

这些措施有些不需要增加成本压力,有些则成本压力很大(譬如丛access到SQL),而且效果还不一定。

面对web访问压力,我认为最经济的办法是利用缓存优化技术来实现缓解web的服务压力。

Web访问量增加通常意味着以下资源需求的快速增长:1、网卡流量增加,需要消耗更多的CPU处理网络流量和网络I/O线程。

2、需要更频繁的打开/关闭数据库连结(如果使用数据库技术—通常asp都会采用数据库作为数据存储),严重消耗资源的事物数量、以及事务相互竞争资源引起的死锁、会增加网络I/O或者CPU消耗。

3、如果采用session的话,IIS为了维持状态,会消耗更多内存,而内存消耗可能会引发物理内存不够,引起物理内存同辅存间的频繁交换,从而引起代码执行的停顿,web响应阻滞。

4、由于访问的不到及时响应,会引起网页访问故障,导致用户刷新,从而加剧CPU、内存等资源需求。

实际上,考虑通常的web应用程序,很多时候的动态代码执行是不必要的。

二、asp缓存的分类擅自总结,asp的缓存可以分为两类:1、文件缓存所谓文件缓存,就是根据逻辑判断,一段时间内某个asp的特定执行将不会有很大的变动,因而将内容以静态html的形式存放,然后以web的重定向技术让客户端访问静态文件,以达到减少CPU、数据库资源等的需求。

这样的应用很多,譬如很多论坛就是在回复贴子的时候将整个贴子重新生成一个静态文件,然后进行重定向的,例如的论坛。

该成静态还有一个副作用(好处)--可以很容易被google等搜索引擎收录。

一些所谓新闻发布系统的都采用了此技术。

asp定义数组详解

asp定义数组详解

asp定义数组详解数组是有序数据的集合。

数组中的元素可以不属于同一个数据类型。

用一个统一的数组名和下标来唯一地确定数组中的元素,更改其中一个元素并不会影响其它元素。

数组的下标是有界的,分为下界和上界。

数组可以用Dim、Private、Public或Static来声明,它们的语法格式相同。

下面只介绍用 Dim声明数组的方法。

1.数组的定义与声明数组的定义语法如下:Dim 数组名( [[下标下界 To ] 下标上界] ) [As 数据类型]例如(假设在当前模块中数组的缺省下界为0)):① Dim A(10) As Integer表示数组名为A,此数组下标下界为缺省值0,下标上界为10,有11个Integer类型的元素,从A(0)、A(1)到A(10)。

② Dim B(1 To 20) As Integer表示数组名为B,此数组下标下界为1,下标上界为20,有20个Integer类型的元素,从B(1)到B(20)。

③Dim DayArray(50)表示DayArray 是一个有51 个索引(从0 到50)元素的Variant 数组。

④Dim Matrix(3, 4) As Integer表示Matrix 是一个二维 Integer 数组。

⑤Dim MyMatrix(1 To 5, 4 To 9, 3 To 5) As Double表示MyMatrix 是一个显式指定了上下界的三维 double 数组。

⑥Dim BirthDay(1 To 10) As Date表示BirthDay 是一个索引从 1 到 10 的 Date型数组。

2.Option Base 语句Option Base 语句在模块级别中使用,用来声明数组下标的缺省下界。

Option Base 语句的语法如下:Option Base {0 | 1}说明:缺省状态下数组下界为 0,此时无需使用 Option Base 语句。

如果使用该语句规定数组下界1,则必须在模块的数组声明之前使用Option Base 语句。

ASP详细用法介绍

ASP详细用法介绍

示例1:2-1.asp
<html> <head> <title>一个简单的ASP程序</title> </head> <body> <h2 align="center">欢迎您光临我的主页 </h2> <p align="center"> <% sj="您来访的时间是:" & date() & time() Response.Write sj '输出 结果 %> </body>
使用Dim语句来声明变量及配置存储空间 Dim 变量名称
声明多个变量时,使用逗号分隔变量
常数声明 使用Const语句来声明常数、配置空间 并指定内容值 Const 常数名称 =常数值 示例:

<% Dim A Const B=124 A=“这是测试字符串” Response.Write “A=”&A& “<br>” Response.Write “B=”&B & “<br>” %>
4-1.asp并没有使用ASP语句,所以可以改为41.htm
第二节 ASP内建对象
在上面的例子中,客户端在4-1.asp中输入内容 后,单击确定按钮,就可以将信息传送给42.asp,在4-2.asp中对传过来的信息进行各种处 理。事实上,也可以将上面的两个文件合成一个 文件,也就是说,可以将表单信息传送给自身。 实现方法只要令action=“”或自身文件名。
insert数据表名栏目名values栏目值sqlinsertallmessage家长姓名留言主题联络信箱留言内容私人公开留言时间班级valuessqlsqlsqlsqlsubjectsqlsqlemailsqlsqlmemosqlsqlpersonalsqlsqlnowsqlsqlbjcnexecutesql回复表单程序网页必须让老师们可以针对某位特定学生家长所发表的意见作出独立的回答使用select?from?where筛选语句sqlselectfromallmessagewhere编号idrsopensqlcn13然后将特定的家长发言数据放在表单方法是将数据库中的数据取出家长姓名栏位网页语句标签rs家长姓名言主题栏位网页语句标签rs留言主题留言内容栏位网页语句标签rs留言内容老师在回复栏位中所填入的数据必须送给处理老师回复数据的asp程序anssaveasp来记录以及处理这些回复数据

ASP中if语句、select、while循环的使用方法

ASP中if语句、select、while循环的使用方法

ASP中if语句、select、while循环的使⽤⽅法<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title><%="页⾯标题"%></title></head><body><%="多条件判断"%><%response.Write("<br />")response.Write("利⽤response对象的Write⽅法输出地内容!")%><br /><%dim a,ba=200b=300response.Write("两数之和为:")response.Write(a+b)response.Write("<br />")if a=100 thenresponse.Write("a=100,第⼀个条件满⾜。

")elseif a=200 thenresponse.Write("a=200,第⼆个条件满⾜。

asp语法——精选推荐

asp语法——精选推荐

asp语句的一些用法(2005-09-30 18:02:28)转载▼分类:IT人简单说来ASP网页其实就是在标准的HTML网页中嵌入了由<%...%>包括起来的ASP代码。

ASP文件的约定:1.所有的ASP程序代码必须放在<%...%>之间2.ASP中,默认的脚本语言是VBScript脚本语言(就是上面我们看到的Dim那一段的程序),如果想用其他语言来编写,可以用下面的方法来声明:<% @Language=VBScript %> 设置脚本语言为VBS语言<% @Language=javascript %> 设置脚本语言为JS语言这一句必须放在整个ASP文档的最前面,而且一个文档只允许出现一次。

3.一般都是用VBS来编写ASP的程序的。

注意事项:1.ASP程序中,不区分字母的大小写,使用大小写是为了便于区分和检查代码2.ASP中用到的标点符号必须是英文状态下的半角标点符号,只有字符串和注释中允许出现中文标点3.ASP中的语句必须分行写,一条ASP语句只能写一行,不能将多个ASP语句写在一行中,也不能将一行ASP 语句写成多行,这跟HTML中忽略空格和换行是不同的,一定要注意。

4.如果一行写不下可以用回车键换行,但是必须在行尾加一个连字符号“_”例如:程序代码: [ 复制代码到剪贴板]str="这里的文字长度超过一行了,可以在这里输入回车键换行_加上连字符号就可以了"5.养成好的编程习惯,使用恰当的缩进这样给看代码带来了很大的方便。

6.ASP中可以包含HTML语言(上面的例子我们已经看到了,<p>标签可以作为字符串的一个部分,输出的时候是HTML文档因而可以发挥相应的功能)。

在VBS中建立自定义函数的方法有两种:Sub子程序和Function自定义函数,这两个方法的区别在于:Sub子程序不返回结构,当它被调用时只是简单的将其中的程序运行一遍,Function函数在其中的程序运行完成后返回一个以函数名为变量名的终值,子程序或者说自定义函数的命名规则与变量的命名规则相同。

asp数组中REDIM的用法(动态数组)

asp数组中REDIM的用法(动态数组)

asp数组中REDIM的⽤法(动态数组)asp数组中REDIM的⽤法(动态数组)动态数组⾥⾯的⼀个语句,只能出现在过程⾥⾯,可以多次使⽤。

可以改变数组⼤⼩,和维数格式:REDIM [Preserve]数组名(下标1[下标2....])Preserve保留动态数组的内容(不⽤的话,每次执⾏REDIM语句,当前存储的语句会全部丢失)例如:Dim DynArray()'定义数组DynArray()为动态数组REDIM PreserveDynArray(20)'为该数组分配元数个数这样对编程中⼀些动态的改变数组是⾮常重要的,⽽且经常能⽤到,处理到,这REDIM深⼊了解第⼆电脑认为对⾃⼰的编程的提⾼很有帮助。

下⾯举⼀些ASP数组的例⼦,当然不全是动态数组在ASP编程中使⽤数组数组的定义DimMyArrayMyArray = Array(1‚5‚123‚12‚98)可扩展数组Dim MyArray()fori = 0 to 10ReDim PreserveMyArray(i)MyArray(i)=inext将⼀个字符串分割并返回分割结果的数组DimMyArrayMyArray = Split(tempcnt‚chr(13)&chr(10))For I =Lbound(MyArray) to Ubound(MyArray)Response.Write MyArray(I) &"<br>"Next数组排序函数function..Sort(ary)KeepChecking = TRUEDo Until KeepChecking= FALSEKeepChecking = FALSEFor I = 0 to UBound(ary)If I =UBound(ary) Then Exit ForIf ary(I) > ary(I+1) ThenFirstValue =ary(I)SecondValue = ary(I+1)ary(I) = SecondValueary(I+1) =FirstValueKeepChecking = TRUEEnd IfNextLoopSort = aryEndfunction数组排序函数应⽤例⼦DimMyArrayMyArray = Array(1‚5‚123‚12‚98) MyArray = Sort(MyArray)For I =Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) &"<br>"Next在Application和Session中使⽤数组Application.LockApplication("StoredArray") = MyArrayApplication.Unlock覆盖Application中的数组Application.LockApplication("StoredArray") = LocalArrayApplication.UnlockSession使⽤⽅法与Application相同从数据库中把数据导⼊数组中Dim MyArray取出全部记录MyArray =RS.GetRows取出前10项记录MyArray = RS.GetRows(10)For col = 0 To UBound(MyArray‚ 1)Response.Write (col‚ row) &"<br>"NextNext通过以上的例⼦可以加深我们对数组的理解,在实际运⽤中加以灵活运⽤。

ASP中使用Stream操作文件的实例

ASP中使用Stream操作文件的实例

平时我喜欢用FSO来操作文件,但是很郁闷的是我喜欢用UTF-8编码,而FSO没法写UTF-8编码的,有时候就不得不用到Stream了。

下面有2个非常典型的文本流函数,一个是用来读取文件内容的,一个是用来写文件的。

下面是S tream的常见方法:Open 方法(ADO Stream)打开Stream 对象来操作二进制或文本数据的流。

语法Stream.Open Source, Mode, OpenOptions, UserName, Password参数Source 可选。

V ariant 值,指定Stream 的数据源。

Source 可能包含绝对URL 字符串,该字符串指向某个众所周知的树状结构(如电子邮件或文件系统)中现有的节点。

应使用URL 关键字(“URL=http://server/folder”)来指定URL。

另外,Source 也可包含对已打开的Record 对象的引用,该对象打开与Record 相关联的默认流。

如果未指定Source,Stream 将被实例化并被打开,默认情况下它不与基本源相关联。

Mode 可选。

ConnectModeEnum 值,指定得出的Stream 的访问模式(例如,读/写或只读)。

默认值为adModeUnknown。

有关访问模式的详细信息,请参阅Mode 属性。

如果未指定Mode,它将被源对象继承。

例如,如果以只读模式打开源Record,那么默认情况下Stream 也将以只读模式打开。

OpenOptions 可选。

StreamOpenOptionsEnum 值。

默认值为adOpenStreamUnspecified。

UserName 可选。

String 值,包含(在需要时)访问Stream 对象的用户标识。

Password 可选。

String 值,包含(在需要时)访问Stream 对象的密码。

说明当把Record 对象作为源参数传递时,将不使用UserID 和Password 参数,因为这样就已经可以访问Record 对象。

ASP数组

ASP数组

201412261314_ASP数组ASP数组和VBScript遵循相同的形式和规则。

我们可以创建特定大小的数组,或者我们可以创建一个动态大小的数组。

我们有关于数组的例子如下:一个数组是和关键字DIM,数组名称和括号里的数组大小相关的。

如变量,你不指定数组的数据类型。

下面显示了声明数组的一般语法:DIM ArrayName(ArraySize)在上面的ArrayName语句是数组的名称,ArraySize是数组的大小。

如下:DIM strNames(5)我们声明一个叫strNames和size 6的数组。

我们使用str前缀阐明字符串数组。

该数组可以容纳6个元素。

数组可以以两种方式之一来初始化。

因为每个元素都要都进行初始化,所以第一个很长。

第二种方法是使用Array()函数来初始化数组。

在接下来的例子中,我们将学习如何用来初始化数组变量 -<%Dim myFixedArray(2) '设定数组大小myFixedArray(0) = "这是第一个变量值"myFixedArray(1) = "这是第二个变量值"myFixedArray(2) = "这是第三个变量值"%>有用的数组函数Ubound(数组名)函数--返回数组的最后一个元素的下标。

Lbound(数组名)函数--返回数组的第一个元素的下标,缺省为0。

现在,我们了解如何输出数组变量。

我们通常使用循环方法来发布数组变量。

<%Dim myFixedArray(2) '固定大小的数组myFixedArray(0) = "这是第一个变量值"myFixedArray(1) = "这是第二个变量值"myFixedArray(2) = "这是第三个变量值"For I = Lbound(myFixedArray) to Ubound(myFixedArray)Response.Write(myFixedArray(i) & "<br />")Next%>将一个字符串分割并返回数组<%Dim StrDim MyArrayStr="习近平|李克强|科比|詹姆斯|加内特|韦德"MyArray = Split(Str,"|")For I = Lbound(MyArray) to Ubound(MyArray)Response.Write MyArray(I) & "<br>"Next%>接下来我想你应该掌握了怎样使用ASP编程的数组了吧!人生最精彩的不是实现梦想的瞬间,而是坚持梦想的过程。

ASP 第4章 数组

ASP 第4章 数组
15选择排序首先在未排序序列中找到最大最小元素存放到排序序列的起始位置再从剩余未排序元素中继续寻找最大最小元素然后放到排序序列第二个位置以此类推直到所有元素均排序完毕
第4章 数组
4.1 数组的声明
数组是将多个变量定义为一个统一名字的 一种构造数据类型。 一种构造数据类型。 VBScript中变量可以声明 中变量可以声明, 在VBScript中变量可以声明,也可以不声 明直接使用,但是, 明直接使用,但是,数组必须声明才可以 使用。 使用。 声明数组的同时, 声明数组的同时,在内存中按照声明数组 的种类给数组分配存储空间,所以数组经 的种类给数组分配存储空间, 过编译后可知道数组中含有多少个元素。 过编译后可知道数组中含有多少个元素。
案例4.2 通过for for循环输出数组的各元素值 案例4.2 通过for循环输出数组的各元素值 (shuzu_2.asp)。 (shuzu_2.asp)。 对于长度未知的数组可通过Lbound函数和 对于长度未知的数组可通过Lbound函数和 Lbound Ubound函数一起确定数组的长度 函数一起确定数组的长度。 Ubound函数一起确定数组的长度。 案例4.2_1 对案例4.2修改,使用lbound 4.2修改 lbound函数 案例4.2_1 对案例4.2修改,使用lbound函数 ubound函数输出数组的各元素值 函数输出数组的各元素值。 和ubound函数输出数组的各元素值。 (shuzu_2_1.asp) 案例4.3 通过for each…next next循环输出数组 案例4.3 通过for each next循环输出数组 的各元素值(shuzu_3.asp) (shuzu_3.asp)。 的各元素值(shuzu_3.asp)。
数组的定义语法如下: 数组的定义语法如下: 数组名( [[下标下界 Dim 数组名( [[下标下界 To ] 下标上 数据类型] 界] ) [As 数据类型]

ASP编程使用数组的方法

ASP编程使用数组的方法
ASP 编程使用数组的方法
asp 数组函数用于创建一个静态的一维数组。你不能声一个动态数组使用 阵列功能。请注意,在一个数组的第一个元素总是标记。大家知道 ASP 编程 使用数组吗?下面我们就给大家详细介绍一下吧! 数组的定义 Dim MyArray MyArray = Array(1,5,123,12,98) 可扩展数组 Dim MyArray() for i = 0 to 10 ReDim Preserve MyArray(i) MyArray(i)=i next 将一个字符串分割并返回分割结果的数组 Dim MyArray MyArray = Split(tempcnt,chr(13)&amp;chr(10)) For I = Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) &amp; “ “ Next 数组排序函数 function..Sort(ary) KeepChecking = TRUE
Application(“StoredArray”) = MyArray Application.Unlock LocalArray = Application(“StoredArray”) 覆盖 Application 中的数组 Application.Lock Application(“StoredArray”) = LocalArray Application.Unlock Session 使用方法与 Application 相同 从数据库中把数据导入数组中 Dim MyArray 取出全部记录 MyArray = RS.GetRows 取出前 10 项记录 MyArray = RS.GetRows(10) For row = 0 To UBound(MyArray, 2) For col = 0 To UBound(MyArray, 1) Response.Write (col, row) &amp; “ “ Next Next 相信大家已经了解 ASil KeepChecking = FALSE KeepChecking = FALSE For I = 0 to UBound(ary) If I = UBound(ary) Then Exit For If ary(I) >; ary(I+1) Then FirstValue = ary(I) SecondValue = ary(I+1) ary(I) = SecondValue ary(I+1) = FirstValue KeepChecking = TRUE End If Next Loop Sort = ary End function.. 数组排序函数应用例子 Dim MyArray MyArray = Array(1,5,123,12,98) MyArray = Sort(MyArray) For I = Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) &amp; “ “ Next 在 Application 和 Session 中使用数组 Application.Lock
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ASP数组详解(有用的实例)在ASP编程中使用数组数组的定义Dim MyArrayMyArray = Array(1,5,123,12,98)可扩展数组Dim MyArray()for i = 0 to 10ReDim Preserve MyArray(i)MyArray(i)=inext将一个字符串分割并返回分割结果的数组Dim MyArrayMyArray = Split(tempcnt,chr(13)&chr(10))For I = Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) & "<br>"Next数组排序函数function..Sort(ary)KeepChecking = TRUEDo Until KeepChecking = FALSEKeepChecking = FALSEFor I = 0 to UBound(ary)If I = UBound(ary) Then Exit ForIf ary(I) > ary(I+1) ThenFirstValue = ary(I)SecondValue = ary(I+1)ary(I) = SecondValueary(I+1) = FirstValueKeepChecking = TRUEEnd IfNextLoopSort = aryEnd function..数组排序函数应用例子Dim MyArrayMyArray = Array(1,5,123,12,98)MyArray = Sort(MyArray)For I = Lbound(MyArray) to Ubound(MyArray)Response.Write MyArray(I) & "<br>"Next在Application和Session中使用数组Application.LockApplication("StoredArray") = MyArrayApplication.UnlockLocalArray = Application("StoredArray")覆盖Application中的数组Application.LockApplication("StoredArray") = LocalArrayApplication.UnlockSession使用方法与Application相同从数据库中把数据导入数组中Dim MyArray取出全部记录MyArray = RS.GetRows取出前10项记录MyArray = RS.GetRows(10)For row = 0 To UBound(MyArray, 2)For col = 0 To UBound(MyArray, 1)Response.Write (col, row) & "<br>"NextNext回复-------------------------------------------------------------------------------- .2. 有效的在asp中利用数组admin(2006-3-22 7:57:28) IP:一个数组是一个基本的数据结构,它是由跟随若干数字的变量组成,代替了声明10个变量来代表10个值的过程,你可以声明一个数组,并且把10个元素存入到这个数组中。

就像声明其他变量一样,数组需要与其大小相同大的内存,因此他们非常高效。

在数组中为了获得一个特殊的变量,你需要参考它的索引。

一个数组中正确的索引值是从0到(下标-1),如果一个数组的大小是10,我们可以从0到9来索引元素。

数组不是复杂的结构,记住,你可以像应用其他变量一样来应用数组中的变量,规则是一样的。

现在让我们看看如何定义一个数组,如何动态的更改数组的大小,一些有用的asp数组函数,在数组中如何查找元素和我们怎样在页面和页面之间传递数组。

.............................................定义一个简单的数组有两种方法在asp中定义数组,让我们看看每种的例子:方法一:MyArray = Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct", "Nov","Dec")方法二:Dim myArray(2)myArray(0)="Jan"myArray(1)="Feb"在方法一中,我们用一行定义整个数组,这种方法在数组中有特殊的用途,如上面那样只存储一年中的12个月。

在方法二中,我们在多行中用单独的元素定义值,如果你想从纪录中将不同的值存入数组元素中,或者在一个循环中定义每一个元素的值,就要用到这种方法,例如:Dim myArray(20)Dim IFor I=0 to 20Myarray(I)="This is message " & INext .................................................................................................动态改变数组的大小现在让我们看看动态改变数组的大小。

为什么你要做这个?举例说如果你不知道一个查询中有多少项目,但是你又想把这些数据存入到数组中,这时你将不能用上面的方法,除非你获得了数据的总数然后声明数组。

为了避免这些,我们看看其中的方法:DIM myArray()Dim IREDIM myArray(20) '将数组重新定义为20维For I=0 to 20MyArray(I)="This is item " & INext在上面的例子中,声明数组没有包含任何的数字项目,它的作用是告诉asp有一个数组被声明了,然后我们用REDIM语句来重新定义数组有20维,并且向其中存入数据。

.................................................................................................有用的数组函数Ubound(arrayName)函数这个函数是返回数组的下标,也就是数组最后一个元素的标记。

Dim myArray(10)Dim IFor I=0 to 10MyArray(I)="Item " & INextResponse.write "ubound(myArray) = " & ubound(myArray)Lbound(arrayName)函数这个函数是返回数组的上标,也就是数组第一个元素的标记。

可以用上面的例子进行试验,不过不要忘了把Ubound换成Lbound哟!Split(string, splitby)函数这个函数返回基于0的一维数组,其中包含指定数目的子字符串。

这里有两个参数,string是一个字符串,sqlitby是分隔符,让我们看一个例子来理解这个函数的功能:Dim myStringDim myArrayDim IMyString = "a,b,c,d"MyArray = split(MyString,",")For I=0 to Ubound(MyArray)Response.write MyArray(I) & "<br>"Next这个例子的意思是:将字符串"a,b,c,d"转换成一个有四个元素一维数组,其中字符串中的","是分隔符。

最后我们用循环将这个数组显示出来。

如果大家觉得不容易懂,可以自己上机调试一下就明白了,其实很简单。

.................................................................................................在数组中查找元素这有一个函数,它能返回数组中的元素索引。

这个索引是数组元素的基本位置,如:0代表myArray(0)。

function findArray(arrName,srcStr)dim Idim pint,cntcnt=0for i=0 to ubound(arrName)if cnt=0 thenif srcStr=arrName(i) thenpint=icnt=1end ifend ifnextfindArray=pint+1end function现在我们来用一用这个函数:Dim myArray(20)Dim kFor k=0 to 20MyArray(k)="Item " & kNextResponse.write findArray(myArray,"Item 8") & "<p>"Response.write myArray(findArray(myArray,"Item 8"))赶紧在本机上调试一下,看看这个函数的功能。

.................................................................................................向另一个页面传递数组现在有很多种方法向另一页面传递数组,目前有三种方法:定义一个又逗号分隔的字符串,然后再下一页中用Split函数重新建立数组。

将数组存储在一个Session变量中,然后在下一个页面中调用。

通过表单的隐含区域来传递数组,他们都是自动用逗号分开,然后再用Split函数重新建立数组。

前两种方法很好,但是都比第三中复杂。

在这里我们将只介绍第三种,因为它是最简单最有效的。

1.asp:<%dim Idim myArray(20)for I=0 to 20myArray(I)="Item " & Inext%><html><body><form name="testform" method="post" action="2.asp"><%for I=0 to ubound(myArray)response.write "<input type=hidden name=myArray value='" & myArray(I) & "'>" next%><p><input type="submit"></form></body></html>以上我们做的是在一个表单中用单独的隐含域存储数组中的每个元素,我们再看看下一页:2.asp<html><body><%dim arrStringdim myArraydim IarrString=request("myArray")myArray = split(arrString,",")for I=0 to ubound(myArray)response.write "Item "&I&" = " & myArray(I) & "<br>" & vbCrLf next%></body></html>。

相关文档
最新文档