若天明 发表于 2015-1-16 22:21:19

ASP编程:ASP在JScript中利用RecordSet工具的Get...

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+",First:"+data+
",Second:"+data+"<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=newArray();
sp=i*fieldslen;
for(varj=0;j<fieldslen;j++)
data=arr;
}
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也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。

冷月葬花魂 发表于 2015-2-26 09:20:31

那么,ASP.Net有哪些改进呢?

飘飘悠悠 发表于 2015-3-8 13:15:37

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

愤怒的大鸟 发表于 2015-3-16 01:19:42

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

海妖 发表于 2015-3-22 18:26:00

在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
页: [1]
查看完整版本: ASP编程:ASP在JScript中利用RecordSet工具的Get...