RS.GETROWS使用详解

2016-01-29 19:53 243 1 收藏

RS.GETROWS使用详解,RS.GETROWS使用详解

【 tulaoshi.com - ASP 】

  ADO也提供更有效率方法來取得資料。GetRows 方法傳回一個二維的陣列變數,每一行對應Recordset中的一筆記錄,且每一列對應到記錄中的欄位。此方法的語法如下: varArray = rs.GetRows([Rows], [Start], [Fields])


Rows 是要讀取記錄的數量;如果想要取得Recordset所有記錄,可用-1或省略此參數。Start 是指出第一個被讀取記錄的書籤;也可以是下列列舉常數中的一個:0-adBookmarkCurrent(目前記錄)、1-adBookmarkFirst(第一筆記錄)、或2-adBookmarkLast(最後記錄)。

Fields 是可選擇的欄位名稱陣列,其用來限制要讀取的資料量。(也可指定單一欄位名稱、單一欄位索引、或者一個欄位索引陣列)。當設定 Rows 為少於Recordset記錄筆數時,第一筆未讀取的記錄變成現行記錄。若省略 Rows 參數或設定為-1-adGetRowsRest或大於未讀取的筆數時,GetRows 方法會讀取所有記錄並讓Recordset在EOF狀態,而不會產生任何錯誤。

當處理目的變數陣列的資料時,應該記得資料儲存方式是有點相反的感覺:陣列中第一維定義Recordset的欄位(資料行),第二維定義Recordset的資料列。以下有個載入Recordset內所有記錄某三個欄位的範例:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)Dim values As Variant, fldIndex As Integer, recIndex As Integer
values = rs.GetRows(, , Array("LastName", "FirstName", "BirthDate"))
For recIndex = 0 To UBound(values, 2)
    For fldIndex = 0 To UBound(values)
        Print values(fldIndex, recIndex),
    Next
    Print
Next


GetRows 方法通常比一次讀一筆記錄的迴圈要來得快些,但使用這方法時,必須確定Recordset未包含太多記錄;否則,會很容易以一個非常大的變數陣列來填滿所有記憶體。基於相同的原因,得小心不要包括任何BLOB(Binary Large Object)或CLOB(Character Large Object)欄位;若如此做的化,應用程式一定會爆掉,特別是對於較大的Recordset而言。最後,記住此方法傳回的變數陣列是以0為基底的;傳回記錄的筆數是UBound(values,2)+1,傳回欄位數是UBound(value, 1)+1。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

GetString 方法跟 GetRows 是類似的,不過其傳回以單一字串形式存在的多重記錄。GetString 語法如下:

GetString([Format], [NumRows], [ColDelimiter], [RowDelimiter], [NullExpr])

Format 是結果的格式。GetString 還可能支援更多格式,但是目前唯一支援的格式是2- adClipString,所以實際上沒有任何選擇。NumRows 是要取得的列數。(使用-1或省略此參數來讀取所有剩下的記錄。)ColDelimiter 是行的分隔字元(預設為Tab字元)。RowDelimiter 為記錄的分隔字元(預設為換行字元)。NullExpr 是用來表示Null欄位的字串(預設為空字串)。文件中說明只有當Format= adClipString時,最後三個參數才可使用,但是這警告沒有多大意義,因為(如之前所提)此格式是目前唯一支援的。以下有個例子,其透過 GetString 方法來將資料匯出成以分號分隔的文字檔:

Dim i As Long
Open "datafile.txt" For Output As #1
For i = 0 To rs.Fields.Count _ 1          ' Export field names.
    If i 0 Then Print #1, ";";
    Print #1, rs.Fields(i).Name;
Next
Print #1, ""
rs.MoveFirst                              ' Export data.
Print #1, rs.GetString(, , ";", vbCrLf);  ' Don't add an extra CR-LF here.
Close #1


GetString 方法不允許只匯出欄位的子集合,也不允許修改匯出欄位的順序。如果需要這些額外的功能,應該使用 GetRows 方法且自行建立結果字串。

来源:http://www.tulaoshi.com/n/20160129/1510319.html

延伸阅读
Find命令使用详解 使用find和xargs 有时可能需要在系统中查找具有某一特征的文件(例如文件权限、文件属主、文件长度、 文件类型等等)。这样做可能有很多原因。可能出于安全性的考虑,或是一般性的系统管理任 务,或许只是为了找出一个不知保存在什么地方的文件。F i n d是一个非常有效的工具,它可 以遍历当前目录甚至于整个文件系统来查找...
标签: PHP
下面我们将逐一进行介绍。 1、Config命令 Config命令主要用于修改SSI的默认设置。其中: Errmsg: 设置默认错误信息。为了能够正常的返回用户设定的错误信息,在HTML文件中Errmsg参数必须被放置在其它SSI命令的前面,否则客户端只能显示默认的错误信息,而不是由用户设定的自定义信息。 ...
《天天飞车》RS车对比分析 很多玩家都在问关于《天天飞车》闪灵好还是魅影好,今天图老师图老师小编给大家带来闪灵好还是魅影好 《天天飞车》RS车对比分析,希望大家可以喜欢。 在最大速度上,RS级闪灵的450Km/h比RS级魅影的452Km/h要稍弱些; 加速度方面,闪灵的14.5Km/s稍逊于魅影的14.6Km/s; 在节油效率上,闪灵的34.2Km也是不及魅...
  1、Config命令 Config命令主要用于修改SSI的默认设置。其中: Errmsg:设置默认错误信息。为了能够正常的返回用户设定的错误信息,在HTML文件中Errmsg参数必须被放置在其它SSI命令的前面,否则客户端只能显示默认的错误信息,而不是由用户设定的自定义信息。 <!--#config errmsg="Error! Please email webm...
标签: Web开发
Javascript有许多内建的方法来产生对话框,如:window.alert(), window.confirm(),window.prompt().等。 然而IE提供更多的方法支持对话框。如: showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框,由于是对话框,因此它并没有一般用window.o...

经验教程

73

收藏

76
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部