2013-01-11 77 views
-3

我需要創建一個包含問題和答案的嚮導。 所以我有一個表的答案,當我加載嚮導我想第一個答案爲 標籤,並附近有可能的答案和下一個按鈕的下拉列表。當我點擊下一步按鈕選擇的答案和問題ID保存在數據庫和第二個問題被加載並繼續,直到所有問題都完成。從數據庫順序循環非順序查詢結果

最近我只在coldfusion工作,我可以循環查詢和它的簡單,但在C#我不知道如何做到這一點。

for (int i = 0; i < length; i++) 
{ 
using (SqlConnection sqlConn = new SqlConnection(connstring)) 
     { 
      sqlConn.Open(); 
      using (SqlCommand sqlCmd = new SqlCommand()) 
      { 
       sqlCmd.CommandType = CommandType.StoredProcedure; 
       sqlCmd.CommandText = "dbo.GetFurnizori";           


       sqlCmd.Parameters.AddWithValue("@p_id",i); 
       sqlCmd.Connection = sqlConn; 
       DataTable dat = new DataTable(); 
       SqlDataAdapter sqlDA = new SqlDataAdapter(); 
       sqlDA.SelectCommand = sqlCmd; 
       dat.Fill(dataSet1, "questions"); 
       label1.DataBindings.Add("Text", dataSet1, "question"); 
      }     
      } 

的問題是,我canot去我加1,因爲ID並不總是1,2,3,4也許他們是5,9,11

+2

如果您不知道C#,請去學習它。我們不是來教你的。你就讀這所學校......這是一個問答網站,不是學前班,你可以在銀盤上找到一切。 – walther

+2

詢問關於特定*實際編程問題的*特定*問題:在這個意義上,一般任務不是特定的問題;這只是一些[爲你]執行的步驟。確保發佈相關代碼。 – 2013-01-11 00:22:54

+0

我認爲這裏有更多的問題比得到讚揚。問題在於清晰。 jonny問如何順序化一些不連續的東西。如果問題更加明確,情況會更加明顯,但我們不應該表現得好像缺乏努力。 – DWright

回答

1

如果您要查詢針對SQL Server ,請在存儲過程中向您的查詢中添加一個ROW_NUMBER() OVER()(您必須閱讀它:http://msdn.microsoft.com/en-us/library/ms186734.aspx)。這將爲您返回每個行的序列號(1,2,3等)。這可能會有所幫助,因爲您不必依靠id。您可以通過i(並繼續i++)到proc中,並讓proc在查詢中找到其行ROW_NUMBER(),而不是idi