我在ASP頁面中查詢。在某些條件之後,我必須在3個不同的表中打印記錄集。所以,爲了避免將3次幾乎延伸到相同的查詢,我決定搜索記錄集以獲得所需的結果...所以我需要兩次創建一個RS.MoveFirst。 但是...當我用SQL Profiler分析時,我看到MoveFirst操作重新執行我的查詢......正是我想避免的。 如何緩存結果並只移動記錄集?如何避免在MoveFirst上重新執行查詢
3
A
回答
2
使用斷開連接的記錄
Const adOpenStatic = 3
Const adUseClient = 3
Const adLockOptimistic = 3
Dim conn: Set conn = Server.CreateObject("ADODB.Connection")
conn.Open sYourConnectionString
Dim rs : Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorLocation = adUseClient
rs.Open sYourSQL, conn, adOpenStatic, adLockOptimistic
Set rs.ActiveConnection = Nothing
conn.close
'' // You can now roam around the recordset with .MoveFirst, .MoveNext etc without
'' // incurring any further hits on the DB.
需要注意的是,如果你有參數提供給您的SQL,你需要使用的連接和記錄之間的ADODB.Command
對象(不要試圖使用字符串連接) 。仍然原則是相同的使用客戶端光標位置和靜態記錄集,然後分離和關閉連接。
+0
'''adOpenStatic = 3''' 使用靜態遊標。 **可用於查找數據或生成報告的一組記錄**的靜態副本。其他用戶的添加,更改或刪除不可見。 https://msdn.microsoft.com/en-us/library/ee252445(v=bts.10).aspx – 2018-01-04 16:15:41
1
我個人簡單地使用rs.getRows()
並導航到陣列中......不僅是U確保你永遠再次命中數據庫,你應該看你用它
相關問題
- 1. 如何避免執行子查詢?
- 2. 如何避免在Rx管道中重新執行操作
- 3. 避免重複子查詢
- 4. 如何避免子查詢?
- 5. 避免在查詢
- 6. 如何避免多次執行相同的查詢?
- 7. 如何避免在此mysql查詢上進行全表掃描?
- 8. 重新執行relayjs查詢
- 9. 如何在另一個查詢MySQL上執行更新查詢?
- 10. 如何避免div執行新行如果一行已滿?
- 11. 如何避免兩次寫入SQL Server查詢以避免重複?
- 12. 避免UNION查詢
- 13. 避免子查詢
- 14. 避免子查詢
- 15. JPA避免查詢
- 16. 避免巢查詢
- 17. 在排序時避免從Access重新查詢mysql db
- 18. cakephp中如何避免在查詢結果中的重複列
- 19. 如何避免在postgresql中重複長子查詢?
- 20. 如何避免在執行錯誤的SQL查詢時崩潰python腳本?
- 21. 如何在執行分析查詢時避免DISTINCT作爲柺杖?
- 22. 試圖避免重複查詢
- 23. MySQL查詢,以避免重複結果
- 24. MySQL查詢 - 避免重複條目
- 25. 如何避免進程的shell執行?
- 26. 避免在列中進行重複計算? SQL Server查詢
- 27. 如何避免onTextChanged的執行在Android的EditText上
- 28. 如何避免在$ rootScope上執行$ diges操作?
- 29. Android:如何避免在togglebutton上同時執行動作
- 30. 如何避免在Git存儲庫分支上重複執行代碼
快照或動態數據集,性能每次一個巨大的收穫?是否使用了dbSeeChanges? – 2009-08-07 11:47:01
forwardonly(默認) Obs:在查詢的第一次執行後,我不需要進行更改 – Roxana 2009-08-07 12:08:43