国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

提高ASP的速度的方法:GetString

2024-05-04 11:09:48
字體:
來源:轉載
供稿:網友

許多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語句要處理. 如果你將輸出的全部結果放在一個很長的字符串里(從 到 ),那么服務器只需解釋一遍Response.Write語句,速度就會快得多 . 微軟公司里的一些能干的家伙已經將想法變成了現實. (注意,這是一個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表格的例子里所看到的那樣,每列用 ...分隔,每行用 ...分隔。例子的代碼:

 

以下是引用片段:
<%@ 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表格的每列之間都將有 的HTML代碼,每行之間的HTML代碼是 . 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代碼中,將放在它的后面. 這是因為我們的格式化字符串中并不含有這些表格 頭尾所需的字符串。)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武鸣县| 内黄县| 聂荣县| 瑞昌市| 平南县| 宜川县| 治多县| 双桥区| 泰州市| 阿勒泰市| 海阳市| 长治市| 无极县| 金沙县| 科技| 肥西县| 开平市| 东乡县| 宁津县| 芜湖县| 临漳县| 松桃| 丘北县| 武城县| 合作市| 济源市| 葫芦岛市| 成安县| 得荣县| 辽源市| 泗洪县| 厦门市| 康乐县| 横峰县| 闽侯县| 乌兰县| 望江县| 永昌县| 平南县| 西充县| 自治县|