用GetString來(lái)提高ASP的速度_ASP教程
推薦:用ASP程序?qū)㈨?yè)面中的電話號(hào)碼生成圖片格式作用:用ASP程序?qū)㈨?yè)面中的電話號(hào)碼生成圖片格式。 以下是引用片段: 以下為引用的內(nèi)容: % Call Com_CreatValidCode(Reques
許多ASP程序員都有過(guò)執(zhí)行數(shù)據(jù)庫(kù)查詢,然后將查詢結(jié)果用HTML表格的形式顯示出來(lái)的經(jīng)歷吧。通常我們是這么做的:
以下為引用的內(nèi)容:
<%
'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>
如果查詢結(jié)果很多,服務(wù)器解釋你的ASP script將花費(fèi)大量的時(shí)間,因?yàn)橛性S多的
Response.Write語(yǔ)句要處理. 如果你將輸出的全部結(jié)果放在一個(gè)很長(zhǎng)的字符串里(從<TABLE >到</TABLE >),那么服務(wù)器只需解釋一遍Response.Write語(yǔ)句,速度就會(huì)快得多 . 微軟公司里的一些能干的家伙已經(jīng)將想法變成了現(xiàn)實(shí). (注意,這是一個(gè)ADO 2.0以上才有 的特性. 如果你還在使用以前版本的話,請(qǐng)升級(jí)到最新版)
有了GetString方法,我們就可以僅用一個(gè)Response.Write來(lái)顯示所有的輸出了,它就象 是能判斷Recordset是否為EOF的DO ... LOOP循環(huán).
GetString的用法如下(所有的參數(shù)都是可選的):
以下為引用的內(nèi)容:
String = recordset.GetString(StringFormat,
NumRows,
ColumnDelimiter,
RowDelimiter, NullExpr)
要從Recordset的結(jié)果里生成HTML表格,我們只需關(guān)心GetString的5個(gè)參數(shù)中的3個(gè):
ColumnDelimiter(分隔記錄集的列的HTML代碼),RowDelimiter(分隔記錄集的行的HTML 代碼),和NullExpr(當(dāng)前記錄為空時(shí)應(yīng)生成的HTML代碼). 就象你在下面生成HTML表格的 例子里所看到的那樣,每列用<TD >...</TD >分隔,每行用<TR >...</TR >分隔. 來(lái) 看看例子的代碼吧.
以下為引用的內(nèi)容:
<%@ 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"結(jié)果生成的HTML表格的代碼.
HTML表格的每列之間都將有</td ><td >的HTML代碼,每行之間的HTML代碼是</td ></td ><tr ><td >. GetString方法將輸出正確的HTML代碼并存放在strTable中,這樣我們只需一行Response.Write便可以輸出數(shù)據(jù)集中的所有記錄. 讓我們來(lái)看個(gè)簡(jiǎn)單的例 子,假設(shè)我們的查詢結(jié)果返回了以下的行和列:
以下為引用的內(nèi)容:
Col1 Col2 Col3
Row1 Bob Smith 40
Row1 Ed Frank 43
Row1 Sue Void 42
那么GetString語(yǔ)句返回的字符串將是:
以下為引用的內(nèi)容:
Bob</td ><td >Smith</td ><td >40</td ><td ></td ></tr ><tr ><
td
>Ed ...
說(shuō)實(shí)話,這個(gè)字符串看上去冗長(zhǎng)而雜亂,但它就是我們想要的HTML代碼. (注意看,我們?cè)?手工書(shū)寫(xiě)的HTML代碼中,將<TABLE ><TR ><TD >放在Response.Write的前面,將</TD ></TR ></TABLE >放在它的后面. 這是因?yàn)槲覀兊母袷交址胁⒉缓羞@些表格 頭尾所需的字符串.)
分享:asp怎樣實(shí)現(xiàn)rar壓縮和解壓縮源代碼asp實(shí)現(xiàn)rar壓縮和解壓縮源代碼,只要一個(gè)文件就可能搞定,asp壓縮目錄或文件,解壓rar文件,刪除特定文件等功能.此源碼方便大家進(jìn)行二次開(kāi)發(fā),分享出來(lái). 以下是winrar.asp代碼:
- asp FSO 讀寫(xiě)文件本文件實(shí)現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶真實(shí)IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫(kù)實(shí)現(xiàn)代碼
- asp中正則表達(dá)式過(guò)濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁(yè)模板:ASP內(nèi)建對(duì)象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個(gè)小技巧
- eWebEditor v3.8 列目錄
- ASP無(wú)組件分頁(yè)實(shí)現(xiàn)思路及代碼
ASP教程Rss訂閱編程教程搜索
ASP教程推薦
- 淺析ASP AJAX做類(lèi)似google的搜索提示
- asp連接sqlserver數(shù)據(jù)庫(kù)實(shí)現(xiàn)代碼
- ASP 3.0高級(jí)編程(三十六)
- 對(duì)一些編程初學(xué)者的良言警句
- 如何用ASP來(lái)獲取客戶端真實(shí)IP的地址?
- 關(guān)于Asp代碼與頁(yè)面的分離
- ASP實(shí)例:Access為后臺(tái)數(shù)據(jù)庫(kù)的網(wǎng)站統(tǒng)計(jì)系統(tǒng)
- 國(guó)內(nèi)ASP應(yīng)用,不容樂(lè)觀
- Windows 2003 安裝設(shè)置iis
- ASP常用函數(shù):getIMG()
- 相關(guān)鏈接:
- 教程說(shuō)明:
ASP教程-用GetString來(lái)提高ASP的速度
。