日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

技巧:用GetString來提高ASP的速度_ASP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:ASP實現(xiàn)將長的標(biāo)題用省略號收尾
數(shù)據(jù)庫中提取長長的文章,總是有礙網(wǎng)頁的排版布局。 所以,想固定地提取一部分字符,然后后面有……替代。 1、原理: 判斷文章的長度是否超過規(guī)定的長度,若超過則只顯示規(guī)定

許多ASP程序員都有過執(zhí)行數(shù)據(jù)庫查詢,然后將查詢結(jié)果用HTML表格的形式顯示出來的經(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將花費大量的時間,因為有許多的Response.Write語句要處理. 如果你將輸出的全部結(jié)果放在一個很長的字符串里(從<TABLE >到</TABLE >),那么服務(wù)器只需解釋一遍Response.Write語句,速度就會快得多 . 微軟公司里的一些能干的家伙已經(jīng)將想法變成了現(xiàn)實. (注意,這是一個ADO 2.0以上才有 的特性. 如果你還在使用以前版本的話,請升級到最新版)

有了GetString方法,我們就可以僅用一個Response.Write來顯示所有的輸出了,它就象 是能判斷Recordset是否為EOF的DO ... LOOP循環(huán)。

GetString的用法如下(所有的參數(shù)都是可選的):

String = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, RowDelimiter, NullExpr)

要從Recordset的結(jié)果里生成HTML表格,我們只需關(guān)心GetString的5個參數(shù)中的3個:

ColumnDelimiter(分隔記錄集的列的HTML代碼),RowDelimiter(分隔記錄集的行的HTML 代碼),和NullExpr(當(dāng)前記錄為空時應(yīng)生成的HTML代碼)。就象你在下面生成HTML表格的例子里所看到的那樣,每列用<TD >...</TD >分隔,每行用<TR >...</TR >分隔。來看看例子的代碼吧。

以下為引用的內(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ù)集中的所有記錄. 讓我們來看個簡單的例 子,假設(shè)我們的查詢結(jié)果返回了以下的行和列:

以下為引用的內(nèi)容:
Col1 Col2 Col3
Row1 Bob Smith 40
Row1 Ed Frank 43
Row1 Sue Void 42

那么GetString語句返回的字符串將是:

以下為引用的內(nèi)容:
Bob</td ><td >Smith</td ><td >40</td ><td ></td ></tr ><tr ><
td
>Ed ...

說實話,這個字符串看上去冗長而雜亂,但它就是我們想要的HTML代碼。(注意看,我們在 手工書寫的HTML代碼中,將<TABLE ><TR ><TD >放在Response.Write的前面,將</TD ></TR ></TABLE >放在它的后面. 這是因為我們的格式化字符串中并不含有這些表格 頭尾所需的字符串。)

分享:ASP中數(shù)據(jù)庫調(diào)用中常見錯誤的現(xiàn)象和解決
下面是虛機維護中,經(jīng)常碰到的一些ASP程序中的數(shù)據(jù)庫調(diào)用的錯誤,現(xiàn)收集整理如下: 不能打開注冊表關(guān)鍵字(8007000e) Microsoft OLE DB Provider for ODBC Drivers 錯誤 '8007000e' [Micr

來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
相關(guān)ASP教程