把RS.GetRows看得更清楚
2024-05-04 11:01:35
供稿:網友
用過Rs.GetRow的兄弟都知道Rs.GetRow可以更有效率地獲取小容量數據(不適合大容量數據,尤其涉及大對象的時候,容易暴掉,我就爆過一次),PuterJam應用得不錯的說。
但是Rs.GetRow返回的是一個二維數組,我們經常不知道哪段對哪段。這個很麻煩,于是編了一小段程序方便調試用:
Dim ds
Set objRS=objConn.Execute("SELECT * FROM [blog_Upload] WHERE ([ul_Quote] LIKE '%" & CStr(ID) & "%') ")
ds=objRS.GetRows
objRS.Close()
Set objRS=Nothing
' 建立一個表格
Response.Write "Written By Sipo(www.dc9.cn)<table align=""center"" border=""1"">"
Response.Write vbcrlf
Response.Write "<tr><td></td>"
For j = 0 To UBound(ds, 1)
Response.Write "<td>ds("&j&",X)</td>"
Next
Response.Write "</tr>"
' 每一行
For i = 0 To UBound(ds, 2)
Response.Write "<tr><td>ds(X,"&i&")</td>"& vbcrlf
' 每一列
For j = 0 To UBound(ds, 1)
Response.Write "<td>"
If IsNull(ds(j, i)) Then
Response.Write "Null"
Else
Response.Write ds(j, i)
End If
Response.Write "<br>"
Response.Write "<b>ds("&j&","&i&")</b>"
Response.Write "</td>"
Next
Response.Write "</tr>" & vbcrlf
Next
Response.end
--------------------------------------------------------------------------------
獻給菜鳥們:
關于GetRows的小資料:
ADO也提供更有效率方法來取得數據。GetRows 方法傳回一個二維的數組變量,每一行對應Recordset中的一筆記錄,且每一列對應到記錄中的字段。此方法的語法如下:
varArray = rs.GetRows([Rows], [Start], [Fields])
Rows 是要讀取記錄的數量;如果想要取得Recordset所有記錄,可用-1或省略此參數。Start 是指出第一個被讀取記錄的書簽;也可以是下列列舉常數中的一個:0-adBookmarkCurrent(目前記錄)、1-adBookmarkFirst(第一筆記錄)、或2-adBookmarkLast(最后記錄)。