2012-07-05 112 views
0

如何通過存儲過程在下一行中選擇QuestionId? (客戶端:問題(QuestionId:3))將顯示在屏幕上,點擊下一個按鈕後,將顯示下一個問題(QuestionId:7)。如何選擇下一行中的列?

請注意, 每次執行後(如1-3-7-8 ...),QuestionId必須根據RowId遞增和連續地更改。此外,任何問題都可以刪除,所以保持訂單非常重要。

+-------+------------+--------------+ 
| RowId | QuestionId | QuestionText | 
+-------+------------+--------------+ 
| 1  | 1   | aaaa   | 
| 2  | 3   | bbbb   | 
| 3  | 7   | cccc   | 
| 4  | 8   | dddd   | 
| 5  | 13   | eeee   | 
| 6  | 17   | ffff   | 
| 7  | 24   | gggg   | 
| 8  | 30   | hhhh   | 
+-------+------------+--------------+ 

回答

1

嘗試這種情況:

CREATE PROCEDURE dbo.GetNextQuestion 

@QuestionID int 

AS 

SET NOCOUNT ON 

SELECT TOP 1 RowId, QuestionId, QuestionText 
    FROM Questions 
    WHERE QuestionID > @QuestionID 
    ORDER BY QuestionID 

GO 

點擊 「下一步」 按鈕應該當前問題ID傳遞給存儲過程。

+0

如果沒有'order by'條款,則所有投注都關閉。 – HABO 2012-07-05 18:41:47

+0

@ user92546 - Derp,你完全正確,補充說。時間來獲得更多的咖啡。 – LittleBobbyTables 2012-07-05 18:42:31

相關問題