仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 418|回复: 7
打印 上一主题 下一主题

[学习教程] ASP编程:ASP在JScript中利用RecordSet工具的Get...

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:21:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;js|jscript|工具  写ASP程序时,一样平常情形老是利用的VBScript,不外也不但是这一种选择,也能够用JScript。但在用JScript作为ASP的言语时,比用VBScript有一些小小的不便利,好比RecordSet的GetRows办法。
  在ASP中操纵数据库,一样平常都要用到RecordSet工具,假如注意程序效力的话,大概就会用到RecordSet工具的GetRows办法,把纪录集工具转换成数组,而操纵数组在速率大将比用RecordSet工具的MoveNext办法快良多,并且能够在掏出数组后尽早开释RecordSet工具,从而削减资本的占用,这也是优化ASP功能的一个办法。
  在VBScript里,用RecordSet.GetRows办法取到的是一个二维数组,内里的数据能够经由过程遍历数组的体例来获得。
  假定如今有一个数据库,个中有一个表名为mytable,有3个字段,称号分离为id,first,second。
  程序代码:
界说变量
Dimconn,rs,data,recN,i
毗连数据库
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&_
Server.MapPath("data.mdb")
猎取纪录集
Setrs=conn.Execute("SELECTid,first,secondFROMmytable")
猎取数据数组
data=rs.GetRows()
封闭纪录集,开释工具
rs.Close()
Setrs=Nothing
猎取纪录数
recN=UBound(data,2)
轮回输入数据
Fori=0TorecN
注重,数组下标从0入手下手
显现数据库中数据
Response.Write("ID:"&data(0,i)&",First:"&data(1,i)&_
",Second:"&data(2,i)&"<br/>")
Next
封闭数据库毗连,开释工具
conn.Close()
Setconn=Nothing
%>
  可是在JScript利用时,就会有一个成绩,那就是JScript并没有二维数组,假如要用GetRows所猎取的数据,需要将这个VBScript中的二维数组转换成JScript能辨认的数组,即元素为数组的一个一维数组。
  在JScript里,用GetRows办法猎取的数组有一个toArray办法,能够转换成JScript中能用的数组,可是这个数组是一维的,也就是说,假如要像在VBScript一样利用的话,还必要我们本人来做转换。
  查阅了MSDN及在网上搜刮了相干的文章以后,我写了一个数组转换的函数用于在JScript中利用GetRows办法。
  程序代码:
<scriptlanguage="JScript"runat="server">
//界说变量
varconn,rs,vdata,data,recN,i;
//毗连数据库
conn=Server.CreateObject("ADODB.Connection");
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+
Server.MapPath("data.mdb"));
//猎取纪录集
rs=conn.Execute("SELECTid,first,secondFROMtest");
//猎取数据数组,并转换成为JScript中可用的数组范例
vdata=rs.GetRows().toArray();
//猎取数据表的字段数
i=rs.Fields.Count;
//封闭纪录集,开释工具
rs.Close();
rs=null;
//转换数组
data=transArray(vdata,i);
//猎取纪录数
recN=data.length;
//轮回输入数据
for(i=0;i<recN;i++){
//注重,数组下标从0入手下手
//显现数据库中数据
Response.Write("ID:"+data[i][0]+",First:"+data[i][1]+
",Second:"+data[i][2]+"<br/>");
}
//封闭数据库毗连,开释工具
conn.Close();
conn=null;
//数组转换函数
//参数:arr-GetRows办法失掉的工具用toArray办法失掉的数组
//fieldslen-数据表字段数
functiontransArray(arr,fieldslen){
varlen=arr.length/fieldslen,data=[],sp;
for(vari=0;i<len;i++){
data[i]=newArray();
sp=i*fieldslen;
for(varj=0;j<fieldslen;j++)
data[i][j]=arr[sp+j];
}
returndata;
}
</script>
  关于一些更新频次不高,而利用次数对照多的数据,能够在乐成猎取数据数组以后,用Application工具来缓存起来,从而削减对数据库的查询次数,必定程序水平上优化ASP的功能。
对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。
乐观 该用户已被删除
沙发
发表于 2015-1-19 09:18:31 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-25 17:15:28 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
admin 该用户已被删除
地板
发表于 2015-2-8 20:45:08 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-26 09:20:31 | 只看该作者
那么,ASP.Net有哪些改进呢?
飘飘悠悠 该用户已被删除
6#
发表于 2015-3-8 13:15:37 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-16 01:19:42 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
海妖 该用户已被删除
8#
发表于 2015-3-22 18:26:00 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 04:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表