|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊!速率很多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才有
的特征.假如你还在利用ADO1.5话,能够在
http://www.microsoft.com/data/download.htm收费下载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"%>
<%OptionExplicit“Goodcodingtechnique
“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>放在它的前面.这是由于我们的格局化字符串中其实不含有这
些表格
头尾所需的字符串.)
</p>大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧 |
|