六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

NextRecordset 與 GetRows 雙簧合奏~~

[摘要]NextRecordset 和 GetRows 大家可能用的很少!最近使用使用,不錯的好東東!對提高批量查詢,查詢紀錄集不是巨海量的情況很有效果NextRecordset 和 GetRows 是Recordset的兩個屬性(屬性還是方法我是常混淆是非##,弄不清四下五除一)GetRows ---&...

NextRecordset 和 GetRows 大家可能用的很少!
最近使用使用,不錯的好東東!
對提高批量查詢,查詢紀錄集不是巨海量的情況很有效果
NextRecordset 和 GetRows 是Recordset的兩個屬性(屬性還是方法我是常混淆是非#$#$,弄不清四下五除一)

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

NextRecordset ----> 就是在一次提交多個查詢,形成多個reordset結果集的情況下,提供一個離開當前工作的recordset,轉移到第二個recordset的方法!
主要是用在多個SELECT形成的結果集的情況

示例如下:

dim SQL,Rs,arrA,arrB,rowsA,rowsB

'======提取數據庫庫記錄====

(adodb.connection 的連接部分省略,假定CONN.open CONNstr)
SQL=" select Ca1,Ca2,Ca3,Ca4 from TableA " '---------------SELECTa
SQL=SQL&" select Cb1,Cb2,Cb3,Cb4,Cb5 from TableB " '-------------SELECTb

Set Rs=conn.execute(SQL)
'執行結果將有兩個select 的結果集,當前第一個select的recordset處于激活狀態

arrA=rs.GetRows '----------取得SElECTa Recordset的二維數組

set rs=rs.NextRecordset
'------------最關鍵的一步,使用Nextrecordset激活下一個recordset

arrB=rs.GetRows '----------再次取得第二個SElECTb Recordset的二維數組

Rs.close
set rs=nothing '---------盡早釋放數據庫對象,關閉記錄集
CONN.close
set CONN=Nothing
這樣,我們所有關于數據庫的數據干干凈凈的提取完成,用最早的時間釋放數據庫資源
'-----------//

'========用取得的arrA arrB進行頁面處理,顯示數據結果======
'注意,arrA=GetRows 后得到的數組,第一維是代表列,第二維代表行

rowsA=ubound(arrA,2) '----提取arrA的第二維下標,相當于取得recordset 的記錄行數
rowsB=ubound(arrB,2) '-----同上,提取arrB的第二維下標

'做數據循環:

'第一個select表的循環
response.write "<table>"
For i=0 to rowsA
response.write "<tr>
response.write "<td>"&arrA(i,0)&"</td>" 'tableA.Ca1
response.write "<td>"&arrA(i,1)&"</td>" 'tableA.Ca2
response.write "<td>"&arrA(i,2)&"</td>" 'tableA.Ca3
response.write "<td>"&arrA(i,3)&"</td>" 'tableA.Ca4
response.write "</tr>"
Next
response.write "</table>

'第二個select表循環
response.write "<table>"
For i=0 to rowsB
response.write "<tr>
response.write "<td>"&arrB(i,0)&"</td>" 'tableB.Cb1
response.write "<td>"&arrB(i,1)&"</td>" 'tableB.Cb2
response.write "<td>"&arrB(i,2)&"</td>" 'tableB.Cb3
response.write "<td>"&arrB(i,3)&"</td>" 'tableB.Cb4
response.write "<td>"&arrB(i,4)&"</td>" 'tableB.Cb5
response.write "</tr>"
Next
response.write "</table>

'--------OVER

REM '============小結========

這樣的結果,再清楚不過!
(1)使用Nextrecordset,可以處理多個select語句一次發送形成的結果集,減少網絡流量,必定加快速度!
不使用NextRecordset 則會這樣操作:
SQL="select Ca1,Ca2,Ca3, Ca4 From TableA "
set Rs=CONN.execute (SQL)
SQL=" select Cb1,Cb2,Cb3,Cb4,Cb5 from TableB "
Set Rs=CONN.execute (SQL)
(2)使用GetRows將記錄集提取到數組中(放到內存,所以要求記錄集不要海大啦)
用內存的數組工作,而且省掉EOF,movenext等的判斷,誰更快!自不必說!
(3)最最主要的,我們利用上二者,一次性將所有的數據提完,快速斷開數據庫連接和摧毀建立recordset數據庫對象,大大減少網絡流量!性能自然要提高很多!

'-----------呵呵!及時原創,初淺晦色,見諒見諒~~~~~~~V37





主站蜘蛛池模板: 天天色综合色 | 亚洲色中色 | 天天欲色成人综合网站 | 亚洲www色 | 一二三四免费观看高清动漫视频 | 四虎激情| 日韩在线视频二区 | 亚洲 国产精品 日韩 | 中文有码第一页 | 日韩精品福利视频一区二区三区 | 日本高清色本在线www游戏 | 又粗又大又爽又紧免费视频 | 日本丰满bbb | 日本成人免费网站 | 人人狠狠综合久久亚洲 | 一级人做人爰a全过程免费视频 | 天天草天天射 | 五月天色婷婷丁香 | 一级做a爰片性色毛片刺激 一级做a爰片欧美一区 | 日日爱网| 日韩城人视频 | 人人揉人人人人澡人人 | 青青精品 | 欧美一区二区三区精品 | 四虎影院紧急入口 | 日韩视频福利 | 中文字幕成人免费高清在线 | 色花堂在线 | 日日日日人人人夜夜夜2017 | 天天操婷婷 | 天天色综合2 | 亚洲欧美男人天堂 | 欧美系列第一页 | 欧美伊久线香蕉线新在线 | 天天艹夜夜艹 | 青青草原在线免费观看视频 | 天天干天天操天天玩 | 亚洲天码中文字幕第一页 | 三级黄色在线视频中文 | 亚洲免费天堂 | 色噜噜狠狠色综合欧洲 |