用GetString来提高ASP的速度

key324

key324

2016-01-29 18:29

用GetString来提高ASP的速度,用GetString来提高ASP的速度
  许多ASP程序员都有过执行数据库查询,然后将查询结果用HTML表格的形式显示出
来的经 历吧. 通常我们是这么做的:

< %
'Create connection / recordset
'Populate data into recordset object
%

< TABLE
< % Do While not rs.EOF %
< TR
< TD < %=rs("Field1")% < /TD
< TD < %=rs("Field2")% < /TD
.
< /TR
< % rs.MoveNext
Loop %
< /TABLE

如果查询结果很多,服务器解释你的ASP script将花费大量的时间,因为有许多的

Response.Write语句要处理. 如果你将输出的全部结果放在一个很长的字符串里
(从< TABLE 到< /TABLE ),那么服务器只需解释一遍Response.Write语句,速度就会快得多 . 微软公司里的一些能干的家伙已经将想法变成了现实. (注意,这是一个ADO 2.0才有 的特性. 如果你还在使用ADO 1.5话,可以在
http://www.microsoft.com/data/download.htm免费下载ADO 2.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" %
< % Option Explicit 'Good coding technique

'Establish connection to DB
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=Northwind;"

'Create a recordset
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM table1", conn

'Store our one big string
Dim strTable
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
Set rs = Nothing
conn.Close
Set conn = Nothing
%

strTable字符串用于存放我们从"SELECT * FROM table1"结果生成的HTML表格的
代码.
HTML表格的每列之间都将有< /td < td 的HTML代码,每行之间的HTML代码是<
/td <
/td < tr < td . GetString方法将输出正确的HTML代码并存放在strTable中
,这样
我们只需一行Response.Write便可以输出数据集中的所有记录. 让我们来看个简
单的例 子,假设我们的查询结果返回了以下的行和列:

Col1 Col2 Col3
Row1 Bob Smith 40
Row1 Ed Frank 43
Row1 Sue Void 42

那么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 放在它的后面. 这是因为我们的格式化字符串中并不含有这些表格 头尾所需的字符串.)

Charles Carroll的文章:http://www.learnasp.com/learn/dbgetstring.asp讲述了如 何用GetString来生成一个SELECT box. 我想对你们也是很有帮助的。

 
展开更多 50%)
分享

猜你喜欢

用GetString来提高ASP的速度

ASP
用GetString来提高ASP的速度

怎样优化Microsoft Access来提高速度

编程语言 网络编程
怎样优化Microsoft Access来提高速度

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何提高电脑速度 提高电脑速度的方法

电脑
如何提高电脑速度 提高电脑速度的方法

Word 2010用重复键入提高录入速度

电脑入门
Word 2010用重复键入提高录入速度

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

通过预编译头文件来提高CB的编译速度

编程语言 网络编程
通过预编译头文件来提高CB的编译速度

通过禁用加载项来提高浏览器速度

浏览器
通过禁用加载项来提高浏览器速度

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《恶灵附身》DLC箱怪无伤心得及全奖杯难点解析

《恶灵附身》DLC箱怪无伤心得及全奖杯难点解析

全面认识WindowsXP各种服务(上)

全面认识WindowsXP各种服务(上)
下拉加载更多内容 ↓