RS.GETROWS使用详解
类别: ASP教程
ADO也提供更有效率方法?砣〉觅Y料。GetRows 方法?骰匾???二居的??列???担?每一行????Recordset中的一剐????,且每一列????到????中的?谖弧4朔椒ǖ恼Z法如下:
varArray = rs.GetRows([Rows], [Start], [Fields])
Rows 是要坐取????的?盗浚蝗绻?想要取得Recordset所有????,可用-1或省略此???怠Start 是指出第一??被坐取????的??秽;也可以是下列列佩常?抵械囊???:0-adBookmarkCurrent(目前????)、1- adBookmarkFirst(第一剐????)、或2-adBookmarkLast(最後????)。
Fields 是可啉?竦??谖幻?费??列,其用?硐拗埔?坐取的儋料量。(也可指定?我??谖幻?费、?我??谖凰饕?、或者一???谖凰饕???列)。??韵定 Rows ?樯凫兑ecordset????剐???r,第一剐未坐取的??????成?F行????。若省略 Rows ???祷蛟O定?榄1-adGetRowsRest或大於未坐取的剐???r,GetRows 方法??坐取所有?????K??Recordset在EOF???B,而不???a生任何邋锗。
????理目的???店?列的儋料?r,??????得儋料?Υ娣绞绞怯悬c相反的感迂:??列中第一居定柳Recordset的?谖唬ㄙY料行),第二居定柳Recordset的儋料列。以下有??蒌入Recordset?人?有????某三???谖坏墓?例:
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 方法通常比一次坐一剐????的??圈要?淼每煨?,但使用呃方法?r,必??催定Recordset未包含太多????;否?t,??很容易以一??非常大的???店?列?硖??M所有????篦。基於相同的原因,得小心不要包括任何BLOB(Binary Large Object)或CLOB(Character Large Object)?谖唬蝗羧绱俗龅幕?,??用程式一定??爆掉,特?e是??於蒉大的Recordset而言。最後,??住此方法?骰氐淖??店?列是以0?榛?底的;?骰赜???的剐?凳钦Bound(values,2)+1,?骰??谖??凳钦Bound(value, 1)+1。
GetString 方法跟 GetRows 是??似的,不咿其?骰匾??我蛔执?形式存在的多重????。GetString 遮法如下:
GetString([Format], [NumRows], [ColDelimiter], [RowDelimiter], [NullExpr])
Format 是劫果的格式。GetString ??可能支援更多格式,但是目前唯一支援的格式是2- adClipString,所以??肴上?]有任何啉?瘛NumRows 是要取得的列?怠#ㄊ褂铆1或省略此?????碜x取所有剩下的????。)ColDelimiter 是行的分隔字元(盍韵?樵ab字元)。RowDelimiter ?橛???的分隔字元(盍韵???Q行字元)。NullExpr 是用?肀硎疚ull?谖坏淖执?(盍韵?榭兆执?)。文件中真明只有??Format= adClipString?r,最後三?????挡趴墒褂茫?但是呃警告?]有多大意柳,因?椋ㄈ缰?前所提)此格式是目前唯一支援的。以下有??例子,其透咿 GetString 方法???①Y料?R出成以分??分隔的文字?n:
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 方法不允杂只?R出?谖坏淖蛹?合,也不允杂修改?R出?谖坏捻?序。如果需要呃些铪外的功能,????使用 GetRows 方法且自行建立劫果字串。
varArray = rs.GetRows([Rows], [Start], [Fields])
Rows 是要坐取????的?盗浚蝗绻?想要取得Recordset所有????,可用-1或省略此???怠Start 是指出第一??被坐取????的??秽;也可以是下列列佩常?抵械囊???:0-adBookmarkCurrent(目前????)、1- adBookmarkFirst(第一剐????)、或2-adBookmarkLast(最後????)。
Fields 是可啉?竦??谖幻?费??列,其用?硐拗埔?坐取的儋料量。(也可指定?我??谖幻?费、?我??谖凰饕?、或者一???谖凰饕???列)。??韵定 Rows ?樯凫兑ecordset????剐???r,第一剐未坐取的??????成?F行????。若省略 Rows ???祷蛟O定?榄1-adGetRowsRest或大於未坐取的剐???r,GetRows 方法??坐取所有?????K??Recordset在EOF???B,而不???a生任何邋锗。
????理目的???店?列的儋料?r,??????得儋料?Υ娣绞绞怯悬c相反的感迂:??列中第一居定柳Recordset的?谖唬ㄙY料行),第二居定柳Recordset的儋料列。以下有??蒌入Recordset?人?有????某三???谖坏墓?例:
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
Next
GetRows 方法通常比一次坐一剐????的??圈要?淼每煨?,但使用呃方法?r,必??催定Recordset未包含太多????;否?t,??很容易以一??非常大的???店?列?硖??M所有????篦。基於相同的原因,得小心不要包括任何BLOB(Binary Large Object)或CLOB(Character Large Object)?谖唬蝗羧绱俗龅幕?,??用程式一定??爆掉,特?e是??於蒉大的Recordset而言。最後,??住此方法?骰氐淖??店?列是以0?榛?底的;?骰赜???的剐?凳钦Bound(values,2)+1,?骰??谖??凳钦Bound(value, 1)+1。
GetString 方法跟 GetRows 是??似的,不咿其?骰匾??我蛔执?形式存在的多重????。GetString 遮法如下:
GetString([Format], [NumRows], [ColDelimiter], [RowDelimiter], [NullExpr])
Format 是劫果的格式。GetString ??可能支援更多格式,但是目前唯一支援的格式是2- adClipString,所以??肴上?]有任何啉?瘛NumRows 是要取得的列?怠#ㄊ褂铆1或省略此?????碜x取所有剩下的????。)ColDelimiter 是行的分隔字元(盍韵?樵ab字元)。RowDelimiter ?橛???的分隔字元(盍韵???Q行字元)。NullExpr 是用?肀硎疚ull?谖坏淖执?(盍韵?榭兆执?)。文件中真明只有??Format= adClipString?r,最後三?????挡趴墒褂茫?但是呃警告?]有多大意柳,因?椋ㄈ缰?前所提)此格式是目前唯一支援的。以下有??例子,其透咿 GetString 方法???①Y料?R出成以分??分隔的文字?n:
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 方法不允杂只?R出?谖坏淖蛹?合,也不允杂修改?R出?谖坏捻?序。如果需要呃些铪外的功能,????使用 GetRows 方法且自行建立劫果字串。
- 上一篇: ADODB.STREAM 组件的使用说明
- 下一篇: 一段打开光驱的ASP代码
-= 资 源 教 程 =-
文 章 搜 索