2016-11-20 30 views
0

powerbuilder應用程序在包含dw_1的窗口打開事件中 腳本包含dw_1.retrieve() as i有幾千行,然後在SQL語法我之後選擇如何選擇TOP 100,然後(如果我選擇它)下面的100直到行結束 - powerbuilder + sql server

增加100強是dw_1從TAB_NAME 選擇前100 COL_NAME因此,我檢索表中只有100行

現在我希望把窗戶上的按鈕(NEXT -prev)當用戶點擊它時,他檢索下一個/上一行100行(根據已經檢索到的行)以及何時它是最後一行/第一行next/prev被禁用 也當我嘗試搜索並通過arg到dw(dw.retrieve(arg))作爲pb搜索100行已經顯示我想要什麼時候開始搜索所有行上的pb搜索(即在選擇狀態中清除top 100, ),並返回10只滿足什麼我搜索顯示按鈕(下一個/上排)顯示以下行

任何幫助 問候

回答

0

我希望它可以幫助你。使用Oracle語句分頁:

select * from (
select a.*, rownum rnum 
from (INCLUDE_THE_SELECT_SENTENCE_HERE) a 
where rownum <= MAX_ROWS) 
where rnum >= MIN_ROWS; 
0

查看數據窗口中的Retrieve as Needed屬性。從幫助文件:

是否只根據需要從數據庫中檢索行。在應用程序調用Retrieve方法以獲取足夠的行以填充DataWindow的可見部分之後,當用戶向下滾動以查看尚未查看的行時,「需要」額外的行。

在PowerBuilder書
+1

它說:「檢索行根據需要重寫,如果您已指定排序或已經使用聚合函數,如AVG和點心,在數據窗口對象,這是因爲之前它可以PowerBuilder中必須檢索每一行排序或執行聚合 在多用戶情況下,根據需要檢索行可能會將其他人鎖定在表外。「因爲我有排序和應用程序運行在多用戶我不喜歡根據需要使用行 – ahtawfik