2013-04-03 62 views
1

如何創建像SOQL查詢:SOQL查詢,其中行號是範圍

SELECT Id FROM User WHERE rownum > 101 AND rownum < 200

我試圖做分頁,我加載第100,然後如果你點擊「加載更多「我可以查詢下一個100.

+0

不起作用?根據他們的文檔,這是有效的語法。 – 2013-04-03 22:14:45

+1

我在force.com資源管理器中出現錯誤「實體'用戶'沒有這樣的列rownum」 – Kristin 2013-04-03 22:32:24

回答

3

爲了分頁的目的,您通常只需要將整個查詢(在您的示例中爲SELECT ID FROM用戶),將批量大小設置爲您的大小頁面,然後使用queryMore()獲取下一批。此方法確實需要您從初始查詢中獲取的QueryResult中存儲QueryLocator - 我上面鏈接的文章中的示例代碼顯示了一些很好的示例。

如果您正在使用Visualforce頁面進行此操作,您還有另一個選項 - SOQL也有一個OFFSET子句,您可以使用它來滾動到特定的行。 Here's an article that describes it.要小心 - 如果用戶翻頁太多,OFFSET受到一些限制,可能會妨礙您的閱讀(請參閱this page的SOSL和SOQL限制部分了解具體內容)。

+0

非常感謝!該批看起來像我想要的。 – Kristin 2013-04-03 22:54:57

+0

我也應該提到(對於這篇文章的未來讀者):截至撰寫本文時,OFFSET關鍵字仍處於開發人員預覽中,因此Salesforce.com必須爲您啓用它。 – 2013-04-04 00:14:41