若相依 发表于 2015-1-16 22:07:29

ASP编程:技能:用GetString来进步ASP的速率

asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。很多ASP程序员都有过实行数据库查询,然后将查询了局用HTML表格的情势显现出来的履历吧。一般我们是这么做的:
以下为援用的内容:
<%
Createconnection/recordset
Populatedataintorecordsetobject
%>
<TABLE>
<%DoWhilenotrs.EOF%>
<TR>
<TD><%=rs("Field1")%></TD>
<TD><%=rs("Field2")%></TD>
.
</TR>
<%rs.MoveNext
Loop%>
</TABLE>

假如查询了局良多,服务器注释你的ASPscript将消费大批的工夫,由于有很多的Response.Write语句要处置.假如你将输入的全体了局放在一个很长的字符串里(从<TABLE>到</TABLE>),那末服务器只需注释一遍Response.Write语句,速率就会快很多.微软公司里的一些无能的家伙已将设法酿成了实际.(注重,这是一个ADO2.0以上才有的特征.假如你还在利用之前版本的话,请晋级到最新版)
有了GetString办法,我们就能够仅用一个Response.Write来显现一切的输入了,它就象是能判别Recordset是不是为EOF的DO...LOOP轮回。
GetString的用法以下(一切的参数都是可选的):
String=recordset.GetString(StringFormat,NumRows,ColumnDelimiter,RowDelimiter,NullExpr)
要从Recordset的了局里天生HTML表格,我们只需体贴GetString的5个参数中的3个:
ColumnDelimiter(分开纪录集的列的HTML代码),RowDelimiter(分开纪录集的行的HTML代码),和NullExpr(以后纪录为空时应天生的HTML代码)。就象你鄙人面熟成HTML表格的例子里所看到的那样,每列用<TD>...</TD>分开,每行用<TR>...</TR>分开。来看看例子的代码吧。
以下为援用的内容:
<%@LANGUAGE="VBSCRIPT"%>
<%OptionExplicitGoodcodingtechnique
EstablishconnectiontoDB
Dimconn
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"DSN=Northwind;"
Createarecordset
Dimrs
Setrs=Server.CreateObject("ADODB.Recordset")
rs.Open"SELECT*FROMtable1",conn
Storeouronebigstring
DimstrTable
strTable=rs.GetString(,,"</td><td>","</td></tr><tr><td>"
,"")
%>
<HTML>
<BODY>
<TABLE>
<TR><TD>
<%Response.Write(strTable)%>
</TR></TD>
</TABLE>
</BODY>
</HTML>
<%
Cleanup!
rs.Close
Setrs=Nothing
conn.Close
Setconn=Nothing
%>

strTable字符串用于寄存我们从"SELECT*FROMtable1"了局天生的HTML表格的代码。
HTML表格的每列之间都将有</td><td>的HTML代码,每行之间的HTML代码是</td></td><tr><td>.GetString办法将输入准确的HTML代码并寄存在strTable中,如许我们只需一行Response.Write即可以输入数据会合的一切纪录.让我们来看个复杂的例子,假定我们的查询了局前往了以下的行和列:
以下为援用的内容:
Col1Col2Col3
Row1BobSmith40
Row1EdFrank43
Row1SueVoid42
那末GetString语句前往的字符串将是:
以下为援用的内容:
Bob</td><td>Smith</td><td>40</td><td></td></tr><tr><
td
>Ed...
说假话,这个字符串看上往冗杂而混乱,但它就是我们想要的HTML代码。(注重看,我们在手工誊写的HTML代码中,将<TABLE><TR><TD>放在Response.Write的后面,将</TD></TR></TABLE>放在它的前面.这是由于我们的格局化字符串中其实不含有这些表格头尾所需的字符串。)

无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;

蒙在股里 发表于 2015-1-18 20:37:03

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

仓酷云 发表于 2015-1-26 09:04:28

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

莫相离 发表于 2015-2-4 13:57:26

ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。

柔情似水 发表于 2015-2-10 01:50:02

交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。

飘飘悠悠 发表于 2015-2-28 15:26:01

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

愤怒的大鸟 发表于 2015-3-17 04:09:57

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。

金色的骷髅 发表于 2015-3-23 19:00:23

先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
页: [1]
查看完整版本: ASP编程:技能:用GetString来进步ASP的速率