程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP的NextRecordset和GetRows方法

ASP的NextRecordset和GetRows方法

編輯:關於ASP編程

    NextRecordset和GetRows是RecordSet的兩個屬性對提高批量查詢速度很有效果,大家可能用的很少,分享一下這兩個方法的用法:

    GetRows方法:將RecordSet記錄集提取到一個二維數組中,我們對RecordSet數據的行為就轉移到該數組,可以早早的斷開紀錄集,不用再使用源數據操作,rs.movnext, while not rs.eof等可以省掉。

    NextRecordset方法:一次提交多個查詢,形成多個RecordSet結果集的情況下,提供一個離開當前工作的RecordSet,轉移到下一個RecordSet的方法。主要是用在多個select形成的結果集的情況。示例如下:

    查詢記錄

    set rs=conn.execute(“select Ca1,Ca2,Ca3,Ca4 from TableA select Cb1,Cb2,Cb3,Cb4,Cb5 from TableB”)

    ‘執行後將產生兩個select的結果集,當前第一個select的RecordSet處於激活狀態。

    arrA=rs.GetRows’取得第一個查詢結果的二維數組

    set rs=rs.NextRecordset‘激活下一個RecordSet

    arrB=rs.GetRows’取得第二個查詢結果的二維數組

    set rs=nothing‘釋放數據庫對象

    這樣,我們所有關於數據庫的數據提取完成,用最早的時間釋放數據庫資源。

    注意,GetRows方法得到的數組,第一維代表列,第二維代表行。

    For i=0 to UBound(arrA,2)

    response.write(“<tr>”)

    response.write(“<td>字段1:”&arrA(i,0)&“</td>”)

    response.write(“<td>字段2:”&arrA(i,1)&“</td>”)

    response.write(“<td>字段3:”&arrA(i,2)&“</td>”)

    response.write(“<td>字段4:”&arrA(i,3)&“</td>”)

    response.write(“</tr>”)

    Next

    response.write(“</table>”)

    ’第二個select表循環

    response.write(“<p>表二:</p><table>”)

    For i=0 to UBound(arrB,2)

    response.write(“<tr>”)

    response.write(“<td>字段1:”&arrB(i,0)&“</td>”)

    response.write(“<td>字段2:”&arrB(i,1)&“</td>”)

    response.write(“<td>字段3:”&arrB(i,2)&“</td>”)

    response.write(“<td>字段4:”&arrB(i,3)&“</td>”)

    response.write(“<td>字段5:”&arrB(i,4)&“</td>”)

    response.write(“</tr>”)

    Next

    response.write(“</table>”)

    優點:

    1、使用NextRecordSet,可以處理多個select語句一次發送形成的結果集,減少網絡流量,必定加快速度!

    2、使用GetRows將記錄集提取到數組中(內存操作,因此記錄集不能太大)用內存的數組工作,而且省掉eof、MoveNext等判斷,速度更快!

    3、最最主要的,我們利用上二者,一次性將所有的數據提完,快速斷開數據庫連接和銷毀建立的RecordSet數據庫對象,大大減少網絡流量!性能自然要提高很多!

    文章來源:http://www.joyiu.com/article.asp?id=56

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved