不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
RecordSet对象的GetString方法
编辑:dnawo 日期:2006-12-15
一、前言
许多ASP程序员都有过执行数据库查询,然后将查询结果用HTML表格的形式显示出来的经历吧。 通常我们是这么做的:
<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以上才有的特性,如果你还在使用以前版本的话,请升级到最新版)
二、GetString方法参数
有了GetString方法,我们就可以仅用一个Response.Write来显示所有的输出了,它就象是能判断Recordset是否为EOF的DO ... LOOP循环。
GetString的用法如下(所有的参数都是可选的):
String = recordset.GetString(StringFormat, NumRows, ColumnDelimiter,RowDelimiter, NullExpr)
要从Recordset的结果里生成HTML表格,我们只需关心GetString的5个后面3个参数:
StringFormat:指定 Recordset 应转换为下列格式
NumRows:记录集要转换的行数。如果没有指定或者它大于记录集的总行数,则记录集的所有行都要转换
ColumnDelimiter:分隔记录集的列的HTML代码
RowDelimiter:分隔记录集的行的HTML代码
NullExpr:当前记录为空时应生成的HTML代码
三、应用举例
原代码(数据库两个字段三条记录):
<%
Set RS = conn.Execute("Select * FROM test")
tdSuffix = "</TD><TD>"
trPrefix = "<TR><TD>"
trSuffix = "</TD></TR>"
opts = RS.GetString( , , tdSuffix, trSuffix & trPrefix, "--error--" )
opts = Left( opts, Len(opts)-Len(trPrefix) ) 'This line is the key to it!
Response.Write "<TABLE Border=1 CellPadding=5>
Response.Write trPrefix & opts
Response.Write "</TABLE>
%>
执行结果为:
<TABLE Border=1 CellPadding=5>
<TR>
<TD>row1, field1 value</TD>
<TD>row1, field2 value</TD>
</TR>
<TR>
<TD>row2, field1 value</TD>
<TD>row2, field2 value</TD>
</TR>
<TR>
<TD>row3, field1 value</TD>
<TD>row3, field2 value</TD>
</TR>
</TABLE>
许多ASP程序员都有过执行数据库查询,然后将查询结果用HTML表格的形式显示出来的经历吧。 通常我们是这么做的:
<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以上才有的特性,如果你还在使用以前版本的话,请升级到最新版)
二、GetString方法参数
有了GetString方法,我们就可以仅用一个Response.Write来显示所有的输出了,它就象是能判断Recordset是否为EOF的DO ... LOOP循环。
GetString的用法如下(所有的参数都是可选的):
String = recordset.GetString(StringFormat, NumRows, ColumnDelimiter,RowDelimiter, NullExpr)
要从Recordset的结果里生成HTML表格,我们只需关心GetString的5个后面3个参数:
StringFormat:指定 Recordset 应转换为下列格式
NumRows:记录集要转换的行数。如果没有指定或者它大于记录集的总行数,则记录集的所有行都要转换
ColumnDelimiter:分隔记录集的列的HTML代码
RowDelimiter:分隔记录集的行的HTML代码
NullExpr:当前记录为空时应生成的HTML代码
三、应用举例
原代码(数据库两个字段三条记录):
<%
Set RS = conn.Execute("Select * FROM test")
tdSuffix = "</TD><TD>"
trPrefix = "<TR><TD>"
trSuffix = "</TD></TR>"
opts = RS.GetString( , , tdSuffix, trSuffix & trPrefix, "--error--" )
opts = Left( opts, Len(opts)-Len(trPrefix) ) 'This line is the key to it!
Response.Write "<TABLE Border=1 CellPadding=5>
Response.Write trPrefix & opts
Response.Write "</TABLE>
%>
执行结果为:
<TABLE Border=1 CellPadding=5>
<TR>
<TD>row1, field1 value</TD>
<TD>row1, field2 value</TD>
</TR>
<TR>
<TD>row2, field1 value</TD>
<TD>row2, field2 value</TD>
</TR>
<TR>
<TD>row3, field1 value</TD>
<TD>row3, field2 value</TD>
</TR>
</TABLE>
评论: 1 | 引用: 0 | 查看次数: 5188
发表评论
请登录后再发表评论!